)]}'
{
  "log": [
    {
      "commit": "d9a072cfa7b9736e44311ef77b3e09d804bfa599",
      "tree": "0046f9b7c2180ddf35c79c4d96ec2dc6e31e97cb",
      "parents": [
        "c5a90ac045b779001847fec87403f5cba090deae"
      ],
      "author": {
        "name": "David Sansome",
        "email": "me@davidsansome.com",
        "time": "Tue Aug 15 05:09:42 2017 +1000"
      },
      "committer": {
        "name": "Sarah Adams",
        "email": "adams-sarah@users.noreply.github.com",
        "time": "Mon Aug 14 12:09:42 2017 -0700"
      },
      "message": "delay: make it possible to get taskqueue HTTP headers from inside a delay.Func (#82)\n\nMake it possible to get the in-flight request from inside a delay.Func\r\n\r\nFixes #59"
    },
    {
      "commit": "c5a90ac045b779001847fec87403f5cba090deae",
      "tree": "3054a7b55c58e0ff64faa86dce92da119c8e953c",
      "parents": [
        "ad2570cd3913654e00c5f0183b39d2f998e54046"
      ],
      "author": {
        "name": "Andrew Lytvynov",
        "email": "lytvynov.a.v@gmail.com",
        "time": "Tue Aug 01 11:31:37 2017 -0700"
      },
      "committer": {
        "name": "Sarah Adams",
        "email": "sadams.codes@gmail.com",
        "time": "Tue Aug 01 11:31:37 2017 -0700"
      },
      "message": "log: clarify package docs (#83)\n\nThe package docs can be interpreted as: \"this package is only for\r\nquerying the logs\". Unless reader looks at actual func names, it\u0027s not\r\nobvious they can actually write the logs as well.\r\n\r\nIt would be nice to mention this package in any of the tutorials as\r\nwell, since stderr output just disappears."
    },
    {
      "commit": "ad2570cd3913654e00c5f0183b39d2f998e54046",
      "tree": "2b6ada98f95b1e8d54ce68b735855cee5c5dbb05",
      "parents": [
        "6f8a8d299d1aef52402b4523f12f9265037ce869"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Fri Jul 07 16:33:49 2017 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 07 16:33:49 2017 -0400"
      },
      "message": "mail, search: update doc URLs (#81)\n\nThe docs added \"standard\" in their paths."
    },
    {
      "commit": "6f8a8d299d1aef52402b4523f12f9265037ce869",
      "tree": "c35462cde48251e57c1859f53890f81f8fa6faff",
      "parents": [
        "d11fc8a8dccf41ab5bd3c51a3ea52051240e325c"
      ],
      "author": {
        "name": "Jiayu Yi",
        "email": "yi-jiayu@users.noreply.github.com",
        "time": "Fri Jul 07 22:42:37 2017 +0800"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Fri Jul 07 10:42:37 2017 -0400"
      },
      "message": "aetest: remove `vm: true` from app.yaml template (#80)\n\n"
    },
    {
      "commit": "d11fc8a8dccf41ab5bd3c51a3ea52051240e325c",
      "tree": "f4bc3f7f6be7b11fcb586c058257ddd10f96b29a",
      "parents": [
        "a2f4131514e563cedfdb6e7d267df9ad48591e93"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Fri Jun 30 13:53:15 2017 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 30 13:53:15 2017 -0700"
      },
      "message": "channel: add deprecation message (#78)\n\nThe Channel API feature has been deprecated and is going to be removed.\r\nSee the Channel API Turndown document for details and timetable.\r\n\r\nhttps://cloud.google.com/appengine/docs/deprecations/channel"
    },
    {
      "commit": "a2f4131514e563cedfdb6e7d267df9ad48591e93",
      "tree": "92a120f211d852e327f9cf15c88f4110ed2b67d2",
      "parents": [
        "170382fa85b10b94728989dfcf6cc818b335c952"
      ],
      "author": {
        "name": "Jeff Wu",
        "email": "jeff.tze.wu@gmail.com",
        "time": "Mon May 22 15:48:38 2017 -0700"
      },
      "committer": {
        "name": "Sarah Adams",
        "email": "sadams.codes@gmail.com",
        "time": "Mon May 22 15:48:38 2017 -0700"
      },
      "message": "taskqueue: update DeleteMulti documentation\n\nUpdate the DeleteMulti description to describe what happens when one of the deletes fails."
    },
    {
      "commit": "170382fa85b10b94728989dfcf6cc818b335c952",
      "tree": "16afb88b0446f664a27980d955bc377956c229f1",
      "parents": [
        "132180d1f136d901badf45e5d4fc1ad95de71760"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Mon Apr 10 12:43:55 2017 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 12:43:55 2017 -0700"
      },
      "message": "travis: properly test pull requests, rather than always testing tip (#72)\n\nPreviously, the travis build would pull from master/HEAD, rather than\r\nfrom the commit of the pull requests, rendering presubmit tests useless.\r\n\r\nUse go_import_path to ensure that HEAD from the pull request is used\r\ninstead, and selectively \"go get\" the other dependencies.\r\n\r\nFixes #71."
    },
    {
      "commit": "132180d1f136d901badf45e5d4fc1ad95de71760",
      "tree": "c0e53a2eb665bfe1ee6d1df686d271fae4b356ea",
      "parents": [
        "eda0abe86b8018c6924fac5f669c9f52eb0c68b8"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Mon Apr 10 10:49:17 2017 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 10:49:17 2017 -0700"
      },
      "message": "user: check for valid context and panic if not (#70)\n\nThis call to ClassicContextFromContext was missed in eda0abe."
    },
    {
      "commit": "eda0abe86b8018c6924fac5f669c9f52eb0c68b8",
      "tree": "fa910a600ffe551816bb956f0eff169b45584325",
      "parents": [
        "56d253d1dd14aa01937e12c73a0971bcfd797ff2"
      ],
      "author": {
        "name": "Ross Light",
        "email": "ross@zombiezen.com",
        "time": "Mon Apr 10 09:20:47 2017 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 10 09:20:47 2017 -0700"
      },
      "message": "internal: give more useful panics when (mis)using context.Background (#68)\n\nInstead of waiting for a nil return from fromContext to panic, I\u0027ve\r\nupdated all callers to proactively return/panic with a common error\r\ntype.  Panic is appropriate here, as it is a failed precondition of\r\nvalues passed into the functions.  It\u0027s not introducing any new panics,\r\njust ones with more useful messages.\r\n\r\nAddresses GoogleCloudPlatform/google-cloud-go#523"
    },
    {
      "commit": "56d253d1dd14aa01937e12c73a0971bcfd797ff2",
      "tree": "ca442013e55c0cfc337d56fa8728e9bc5826ccef",
      "parents": [
        "b5c7c247998fb18ace83308f41199d04c78d58f1"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Mar 21 15:24:30 2017 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 21 15:24:30 2017 -0700"
      },
      "message": "README: update for flex (#61)\n\nThe Flex environment does not support the App Engine APIs.\r\n\r\nAdd a section pointing those people toward the upgrade guide on cloud.google.com.\r\n\r\nRetain the existing section about aefix, but remove the suggestion that it\u0027s useful with the flexible environment."
    },
    {
      "commit": "b5c7c247998fb18ace83308f41199d04c78d58f1",
      "tree": "213c2aba3d3e7329b311dbec00ed92ced37ab3b1",
      "parents": [
        "b79c28f0197795b4050bfcd7c4c2209136c594b1"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Mar 21 09:47:31 2017 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 21 09:47:31 2017 -0700"
      },
      "message": "cmd/aedeploy: deprecate aedeploy (#65)\n\nThe latest version of gcloud builds in the functionality that aedeploy\r\nprovided.\r\n\r\nThis change makes aedeploy a simple wrapper (i.e., $@ in bash) that also\r\nprints deprecation messages.\r\n\r\nIf you need the previous functionality of aedeploy, then use the v1.0.0\r\ntag."
    },
    {
      "commit": "b79c28f0197795b4050bfcd7c4c2209136c594b1",
      "tree": "332c932288ec09bf8fe97a9b7fe9e53a02d5d89f",
      "parents": [
        "5403c08c6e8fb3b2dc1209d2d833d8e8ac8240de"
      ],
      "author": {
        "name": "Kaur Kuut",
        "email": "strom@nevermore.ee",
        "time": "Wed Mar 08 01:55:54 2017 +0200"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adam@adamtanner.org",
        "time": "Tue Mar 07 15:55:54 2017 -0800"
      },
      "message": "datastore: fix handling of embedded unexported structs (#58)\n\n"
    },
    {
      "commit": "5403c08c6e8fb3b2dc1209d2d833d8e8ac8240de",
      "tree": "788038159f7e881bd2537431e17028b46b32c7e6",
      "parents": [
        "3a452f9e00122ead39586d68ffdb9c6e1326af3c"
      ],
      "author": {
        "name": "Danial Klimkin",
        "email": "dklimkin@users.noreply.github.com",
        "time": "Fri Mar 03 16:51:57 2017 +0100"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adam@adamtanner.org",
        "time": "Fri Mar 03 07:51:57 2017 -0800"
      },
      "message": "aetest: add StartupTimeout option (#56)\n\naetest: add StartupTimeout option"
    },
    {
      "commit": "3a452f9e00122ead39586d68ffdb9c6e1326af3c",
      "tree": "9f8777d439a1bb4b453ea1ee13db287348eb2f32",
      "parents": [
        "2e4a801b39fc199db615bfca7d0b9f8cd9580599"
      ],
      "author": {
        "name": "Sarah Adams",
        "email": "sadams.codes@gmail.com",
        "time": "Wed Feb 22 14:47:31 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 22 14:47:31 2017 -0800"
      },
      "message": "datastore: allow field names ending in \u0027.\u0027 (#52)\n\nrestructures Load logic to map fields ending in \u0027.\u0027 to the anonymous\r\nstruct field specified in the codec\r\n\r\nFixes #41"
    },
    {
      "commit": "2e4a801b39fc199db615bfca7d0b9f8cd9580599",
      "tree": "b201226351c4cdc2e47bbaf76d98445c79371eff",
      "parents": [
        "b8dd67741c75724e7c79d6ecd1266fe8f466f61d"
      ],
      "author": {
        "name": "dlorenc",
        "email": "lorenc.d@gmail.com",
        "time": "Mon Feb 06 12:30:24 2017 -0800"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adam@adamtanner.org",
        "time": "Mon Feb 06 12:30:24 2017 -0800"
      },
      "message": "aebundler: switch comment from google_appengine to google-appengine (#47)\n\nThese are equivalent, but GCR would like to encourage users to switch to\r\nthe hyphen form."
    },
    {
      "commit": "b8dd67741c75724e7c79d6ecd1266fe8f466f61d",
      "tree": "8fe2521d4a8041eeb32edeb0447235e3de5c7d4a",
      "parents": [
        "a2c54d2174c17540446e0ced57d9d459af61bc1c"
      ],
      "author": {
        "name": "bashtian",
        "email": "bashtian86@gmail.com",
        "time": "Mon Feb 06 21:28:52 2017 +0100"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adam@adamtanner.org",
        "time": "Mon Feb 06 12:28:52 2017 -0800"
      },
      "message": "datastore: implement \"omitempty\" struct field tag option (#51)\n\nThe datastore \"omitempty\" option behaves identically to \"omitempty\"\r\nin the standard library\u0027s encoding/json.\r\n\r\nThis change is almost identical to https://github.com/GoogleCloudPlatform/google-cloud-go/commit/94f177402d59546c5639e015376f04a6a92b02\r\n\r\nFixes #38"
    },
    {
      "commit": "a2c54d2174c17540446e0ced57d9d459af61bc1c",
      "tree": "279d5ae43daba6d1ba7ed0f6bdda57c9817f6bab",
      "parents": [
        "85c8b266497ff8e3fac9e2f56912416cf629e242"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Fri Jan 20 16:08:17 2017 -0800"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adam@adamtanner.org",
        "time": "Fri Jan 20 16:08:17 2017 -0800"
      },
      "message": "remote_api: don\u0027t check auth for dev_appserver (#43)\n\n"
    },
    {
      "commit": "85c8b266497ff8e3fac9e2f56912416cf629e242",
      "tree": "25b1f94428cf1baeea436e4d85d24347d1731f27",
      "parents": [
        "e1a5f8bf8b7df84f85b7c96df2a9fc2525e1be73"
      ],
      "author": {
        "name": "David Sansome",
        "email": "me@davidsansome.com",
        "time": "Sat Jan 21 11:07:42 2017 +1100"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adam@adamtanner.org",
        "time": "Fri Jan 20 16:07:42 2017 -0800"
      },
      "message": "search: add PutMulti and DeleteMulti methods. (#44)\n\nsearch: add PutMulti and DeleteMulti methods"
    },
    {
      "commit": "e1a5f8bf8b7df84f85b7c96df2a9fc2525e1be73",
      "tree": "979885419005e21047e7a28d047b143d37d0bed2",
      "parents": [
        "9e2ad0873f358c54296ccdc5116b0652c98226d1"
      ],
      "author": {
        "name": "Joe Tsai",
        "email": "joetsai@digital-static.net",
        "time": "Fri Jan 20 16:06:25 2017 -0800"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adam@adamtanner.org",
        "time": "Fri Jan 20 16:06:25 2017 -0800"
      },
      "message": "internal: adjust memory threshold for API test (#46)\n\nThere are some major protobuf performance optimizations at work that\r\nimprove runtime performance of protobuf, but due to the lack of\r\nbatching in the current approach, memory usage will be slightly higher.\r\nThis will be eventually fixed.\r\n\r\nAdjust the thresholds here to avoid failing the test."
    },
    {
      "commit": "9e2ad0873f358c54296ccdc5116b0652c98226d1",
      "tree": "13150b027325b9c64c752ab25fd6802b4e298165",
      "parents": [
        "8758a385849434ba5eac8aeedcf5192c5a0f5f10"
      ],
      "author": {
        "name": "Evan Jones",
        "email": "evan.jones@bluecore.com",
        "time": "Fri Jan 13 13:23:11 2017 -0500"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Fri Jan 13 10:23:11 2017 -0800"
      },
      "message": "internal: listen on localhost for dev_appserver; avoid macOS Firewall (#45)\n\nWithout this, the macOS firewall asks if _ah_exe should accept\r\nincoming network connections, since by default it listens on all\r\ninterfaces. For development purposes, it is sufficient to only listen\r\non localhost."
    },
    {
      "commit": "8758a385849434ba5eac8aeedcf5192c5a0f5f10",
      "tree": "151ad0ca92f6c52a890b489041648f2d14828529",
      "parents": [
        "08a149cfaee099e6ce4be01c0113a78c85ee1dee"
      ],
      "author": {
        "name": "Sarah Adams",
        "email": "sadams.codes@gmail.com",
        "time": "Fri Jan 06 13:02:42 2017 -0800"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Fri Jan 06 13:02:42 2017 -0800"
      },
      "message": "CONTRIBUTING.md: adds file (#42)\n\n"
    },
    {
      "commit": "08a149cfaee099e6ce4be01c0113a78c85ee1dee",
      "tree": "a999ff3dc738f49b6ddf3bdddd56b8a7fc99e2af",
      "parents": [
        "e28c86efa2d943e8797312b85dfc512722e69b2d"
      ],
      "author": {
        "name": "Issac Trotts",
        "email": "issac.trotts@gmail.com",
        "time": "Fri Dec 16 13:42:33 2016 -0800"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Fri Dec 16 19:46:50 2016 -0800"
      },
      "message": "delay: clarify the purpose of the key in the doc\n\nChange-Id: I3342f1860dde87f9f24e400e6213a26dc5e69df3\n"
    },
    {
      "commit": "e28c86efa2d943e8797312b85dfc512722e69b2d",
      "tree": "9df026ad25491ac4a41efc14cb7665630e2c05bf",
      "parents": [
        "ca59ef35f409df61fa4a5f8290ff289b37eccfb8"
      ],
      "author": {
        "name": "Costin Chirvasuta",
        "email": "ctin@google.com",
        "time": "Thu Nov 10 11:42:42 2016 +0000"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Fri Nov 25 21:14:41 2016 +0000"
      },
      "message": "datastore: fix compilation errors in doc examples\n\nChange-Id: I8c95dc25f042e2f5f310fcf9411b20ba179a826e\n"
    },
    {
      "commit": "ca59ef35f409df61fa4a5f8290ff289b37eccfb8",
      "tree": "7ccaa044d0cff2ad55477f49e9fdae260277b3ec",
      "parents": [
        "a051cd6e3ae755dc71cf30a9e37798fd89a5d0a1"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Nov 15 14:01:06 2016 -0800"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Nov 15 14:14:14 2016 -0800"
      },
      "message": "cmd/aedeploy: don\u0027t scan packages more than once\n\nPackages that are imported from several different packages don\u0027t need to\nbe scanned more than once. A real-world project would take 10-20 minutes\nto scan before this commit, and about 1-2 seconds now.\n\nFixes #35.\n\nChange-Id: Icfbf84cfb11e1523f4874c1dc51f294c5cb611bf\n"
    },
    {
      "commit": "a051cd6e3ae755dc71cf30a9e37798fd89a5d0a1",
      "tree": "28281e8e826fc4767c2d4610080d7e9cd9ca5093",
      "parents": [
        "5f606e461ef3236778fa74ba1081d599594b0fdf"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Nov 15 11:26:02 2016 -0800"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Nov 15 13:57:00 2016 -0800"
      },
      "message": "cmd/aedeploy: add verbose logging\n\nUpdates #35\n\nChange-Id: I34991b5dca3d11f016f8272729591450695e25ff\n"
    },
    {
      "commit": "5f606e461ef3236778fa74ba1081d599594b0fdf",
      "tree": "637be41b1b4e125784daa8cfd3276127fea26aa0",
      "parents": [
        "c7b8227c83007befd67b324a64c969ebc1d7475d"
      ],
      "author": {
        "name": "Costin Chirvasuta",
        "email": "ctin@google.com",
        "time": "Wed Nov 09 19:51:30 2016 +0000"
      },
      "committer": {
        "name": "Costin Chirvasuta",
        "email": "ctin@google.com",
        "time": "Wed Nov 09 21:43:57 2016 +0000"
      },
      "message": "datastore: use proper struct tag when querying properties in KindProperties\n\nWith the current struct tag this function always returns the following error:\ndatastore: cannot load field \"property_representation\" into a \"struct { Repr []string \\\"datastore:property_representation\\\" }\": no such struct field\n\nChange-Id: Icd83f6cd2c072c7fa819941c01ae119b8e8c0e05\n"
    },
    {
      "commit": "c7b8227c83007befd67b324a64c969ebc1d7475d",
      "tree": "9068883b075e1ce51aa1892432d242fb9d6a0a63",
      "parents": [
        "5ed29b64e503dca0c5c4bc8866e2dab94649e86a"
      ],
      "author": {
        "name": "Will Hayworth",
        "email": "wsh@google.com",
        "time": "Mon Nov 07 14:51:02 2016 -0800"
      },
      "committer": {
        "name": "Will Hayworth",
        "email": "wsh@google.com",
        "time": "Tue Nov 08 01:23:19 2016 +0000"
      },
      "message": "search: fix three tests in search_test.go.\n\nChange-Id: I578cd09d9c5082f08e0924be8796f3e431543e58\n"
    },
    {
      "commit": "5ed29b64e503dca0c5c4bc8866e2dab94649e86a",
      "tree": "06cd87ef00f805fe4d99a39cc9bff26d269915db",
      "parents": [
        "b2b053be966fce2c050a81415eb3c36238908778"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Nov 07 13:58:35 2016 -0800"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Nov 07 13:58:35 2016 -0800"
      },
      "message": "search: add missing comma in struct literal.\n\nChange-Id: Ic58d2d5dde8d96f8ef34354ec8be6c62dfdbf8ee\n"
    },
    {
      "commit": "b2b053be966fce2c050a81415eb3c36238908778",
      "tree": "cd1b357d2d80f6489052848c611eaa0f643abf9e",
      "parents": [
        "7a1c974b6e386c7f76bfbf518ba891baabe13ca8"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Mon Nov 07 13:47:09 2016 -0800"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Nov 07 21:51:05 2016 +0000"
      },
      "message": "cmd/aedeploy: remove \"preview\" from suggested gcloud command\n\nChange-Id: If00535ecce770549272b5266174321a1b9dd6d40\n"
    },
    {
      "commit": "7a1c974b6e386c7f76bfbf518ba891baabe13ca8",
      "tree": "bbcbd86edd83310b46ee8c47f32684221090e318",
      "parents": [
        "dfdbce10be843a35495a6847a48e811b42f60e8d"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Mon Nov 07 13:42:58 2016 -0800"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Nov 07 21:47:43 2016 +0000"
      },
      "message": "aetest: fix race in Close\n\nFixes #26.\n\nChange-Id: I6019f289ced7791f0a996820643086e1e3253f05\n"
    },
    {
      "commit": "dfdbce10be843a35495a6847a48e811b42f60e8d",
      "tree": "03a0b2ba51f36b223d0426ac28b7f327a5a26a07",
      "parents": [
        "f7934c9f24e99f5a3fb2b66f837093f8ccf1ee18"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Nov 01 12:07:59 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Tue Nov 01 19:46:21 2016 +0000"
      },
      "message": "internal: make log calls panic with a useful error message\n\nPrior to this change, a program would panic with no useful message:\npanic: runtime error: invalid memory address or nil pointer dereference\n\nUse the same \"not an App Engine context\" message that is returned as an\nerror from other API calls. The log package is special because the\nlogs are flushed asynchronously, and thus the API call happens later.\n\nChange-Id: I896d8463d2a0d5da7a4fc94fd0dab7b6fcfa8ad7\n"
    },
    {
      "commit": "f7934c9f24e99f5a3fb2b66f837093f8ccf1ee18",
      "tree": "2e421014dc2664a460e086c3977e6023588fca08",
      "parents": [
        "46239ca616842c00f41b8cbc6bbf2bd6ffbfcdad"
      ],
      "author": {
        "name": "Will Hayworth",
        "email": "wsh@google.com",
        "time": "Tue Oct 25 16:56:07 2016 -0700"
      },
      "committer": {
        "name": "Will Hayworth",
        "email": "wsh@google.com",
        "time": "Thu Oct 27 00:29:55 2016 +0000"
      },
      "message": "search: update protobuf and API code to include new OrderIdSource enum\n\nChange-Id: Ia140e0576cb2ce65cb2075935bd75dfa18b2799c\n"
    },
    {
      "commit": "46239ca616842c00f41b8cbc6bbf2bd6ffbfcdad",
      "tree": "0d2bf28d67cc023e2e3c4d4d94e07aa61f3de232",
      "parents": [
        "f5bd97f30319c292c3c53ea4ebf862e8a4cb31c7"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Oct 25 09:43:32 2016 -0700"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@google.com",
        "time": "Tue Oct 25 18:50:29 2016 +0000"
      },
      "message": "cmd/aedeploy: rewrite import scanning logic\n\nThe new implementation is largely copied from github.com/broady/deplist.\n\nIt uses the go/build package to find imports instead of scanning GOPATH\ndirectly. This enables the use of vendored dependencies as well as\nusing a more robust detection of imports from the standard library.\n\nSome more work needs to be done (more thought needed) on handling\ndependencies that are vendored from multiple locations.\n\nFor example:\n  a/\n    vendor/\n      c/\n    aeapp/ // package main\n      app.yaml\n      main.go // import \"c\" and import \"b\"\n  b/\n    b.go // import \"c\"\n  vendor/\n    c/\n\nThis structure has a dependency on \"a/vendor/c\" and a transitive\ndependency on \"vendor/c\" via \"b\".\n\nFixes #29\nFixes #30\n\nChange-Id: I44034f6559db6cddd1f28361ce438ec23fec35de\n"
    },
    {
      "commit": "f5bd97f30319c292c3c53ea4ebf862e8a4cb31c7",
      "tree": "61f63ac32e6f884a455c2c5f11f1fc5c56c6f3d8",
      "parents": [
        "5b8c3b819891014a2d12354528f7d046dd53c89e"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "sbuss@google.com",
        "time": "Fri Oct 21 13:42:13 2016 -0700"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "sbuss@google.com",
        "time": "Fri Oct 21 13:42:13 2016 -0700"
      },
      "message": "appengine: Update appengine.Main docstring for AE Standard\n\nChange-Id: I0f46ceece9d11b7928b326628d2c7bf774859e64\n"
    },
    {
      "commit": "5b8c3b819891014a2d12354528f7d046dd53c89e",
      "tree": "a5c5daac3eaffe036b74b6a839fbf9aa17e512f6",
      "parents": [
        "11c766588a80e5894d3d382f331ef693a6309c50"
      ],
      "author": {
        "name": "Tuo Shan",
        "email": "shantuo@google.com",
        "time": "Fri Oct 14 13:17:33 2016 -0700"
      },
      "committer": {
        "name": "Tuo Shan",
        "email": "shantuo@google.com",
        "time": "Fri Oct 14 13:17:43 2016 -0700"
      },
      "message": "internal: move the SetTestEnv code to api_common.go\n\nThis will let it build for both appengine and !appengine tags.\n\nChange-Id: I37a77adc5d21bb7a4e2eafccaf65c054224981f4\n"
    },
    {
      "commit": "11c766588a80e5894d3d382f331ef693a6309c50",
      "tree": "4536091b668d3ff88631de876967ebbfe597c97c",
      "parents": [
        "1177123117f15f0e04f58d3623a02e38ece70baa"
      ],
      "author": {
        "name": "Sarah Adams",
        "email": "shadams@google.com",
        "time": "Thu Oct 13 16:30:07 2016 -0700"
      },
      "committer": {
        "name": "Sarah Adams",
        "email": "shadams@google.com",
        "time": "Thu Oct 13 16:30:12 2016 -0700"
      },
      "message": "datastore: fixes loading issue with []struct{[]byte}}\n\nFixes #28\n\nChange-Id: Idcd6d245e49f02582bfca1fd698c68b1b7d01c0d\n"
    },
    {
      "commit": "1177123117f15f0e04f58d3623a02e38ece70baa",
      "tree": "a79314a9546b29a0d11158e28b51c5e279cb3b3d",
      "parents": [
        "596d349602aa23355ff46ade49ebfeb99c0fc550"
      ],
      "author": {
        "name": "Tuo Shan",
        "email": "shantuo@google.com",
        "time": "Mon Oct 03 15:48:54 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu Oct 13 18:45:15 2016 +0000"
      },
      "message": "testing: export the SetTestEnv for setting up env for tests using background ticket.\n\nChange-Id: Ia157801664be7c8b1a26e582945930a0479171db\n"
    },
    {
      "commit": "596d349602aa23355ff46ade49ebfeb99c0fc550",
      "tree": "7ed0616d80a47e0a5af002b72aab5f7f68463772",
      "parents": [
        "3f4dbbc0ec153a39878fd524ece9f39732bd4998"
      ],
      "author": {
        "name": "Tuo Shan",
        "email": "shantuo@google.com",
        "time": "Fri Oct 07 15:50:26 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Tue Oct 11 21:25:39 2016 +0000"
      },
      "message": "aetest: using test app id for test requests tickets.\n\nFor any tests using aetest.NewContext(), this will look for\nthe overridden test app id to construct the ticket.\n\nFixes #27\n\nChange-Id: I01ac05360885bd47d577aa016906ba0a87a10608\n"
    },
    {
      "commit": "3f4dbbc0ec153a39878fd524ece9f39732bd4998",
      "tree": "463820ed465d8efba31884bce0b7b5a6836b1b70",
      "parents": [
        "f0736ac333e5fc3b54a4b79e80af8d9561acfc3e"
      ],
      "author": {
        "name": "Sarah Adams",
        "email": "shadams@google.com",
        "time": "Thu Oct 06 13:09:41 2016 -0700"
      },
      "committer": {
        "name": "Sarah Adams",
        "email": "shadams@google.com",
        "time": "Thu Oct 06 14:09:22 2016 -0700"
      },
      "message": "datastore: support for loading nested entity values\n\nThis change is an almost-copy of a change submitted to\ncloud.google.com/go/datastore\n\nChange-Id: Idbfc200b7a3a76603e02527d9de4e93f3ccb648c\n"
    },
    {
      "commit": "f0736ac333e5fc3b54a4b79e80af8d9561acfc3e",
      "tree": "cfb45c67c8655eae891eaa17c6077847c4c7d4f9",
      "parents": [
        "4a8ba85959aea40fe8cba705cd004948e46a2c1d"
      ],
      "author": {
        "name": "Sarah Adams",
        "email": "shadams@google.com",
        "time": "Thu Oct 06 11:57:15 2016 -0700"
      },
      "committer": {
        "name": "Sarah Adams",
        "email": "shadams@google.com",
        "time": "Thu Oct 06 12:37:06 2016 -0700"
      },
      "message": "datastore: don\u0027t ignore calculated pValue\n\nChange-Id: Icea538a7b50c151f046ea2c310679566d1519f74\n"
    },
    {
      "commit": "4a8ba85959aea40fe8cba705cd004948e46a2c1d",
      "tree": "8aeafc540a9a2d0ddac987137e8dbdc8dca6d091",
      "parents": [
        "926995697fa8241be2dc73eb318666e24f44ed51"
      ],
      "author": {
        "name": "Sarah Adams",
        "email": "shadams@google.com",
        "time": "Fri Sep 30 15:43:14 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Wed Oct 05 23:10:42 2016 +0000"
      },
      "message": "datastore: refactor in preparation for loading nested entity values\n\nThis change is a mirror of the same change submitted to\ncloud.google.com/go/datastore, the goal being to keep the two packages\nas similar as possible.\n\nThis change does not alter the black-box/user-facing behavior of the\ndatastore package.\n\nRefactors:\nload() is now able to load nested structs both with flattened field\nvalues (eg. \"A.B.C\") and nested entities (eg. \"A\").\n\nstructCodec has been refactored in several ways:\n1. we only need to store one copy of all the fields (now named \u0027fields\u0027),\ninstead of 2 copies (\u0027byName\u0027 and \u0027byIndex\u0027).\n2. we now store the \u0027index\u0027 of a field in fieldCodec as \u0027path\u0027 (a\nslice of indicies) to better acommodate anonymous, nested struct fields.\n3. we no longer store unexported fields in the structCodecs, as they are\nnever used anyway.\n4. nested structs are saved in structCodec as \"A\" (pointing to the\nstructCodec of field A), instead of \"A.B\" (pointing to the structCodec\nof A) to de-dupe entries with the same index and same struct codec.\n\nChange-Id: I5288dfbffe03e6a8d8ff416707591d3eecb52b28\n"
    },
    {
      "commit": "926995697fa8241be2dc73eb318666e24f44ed51",
      "tree": "080122b249734d33597962aff8e4994d8af08d77",
      "parents": [
        "150dc57a1b433e64154302bdc40b6bb8aefa313a"
      ],
      "author": {
        "name": "Tuo Shan",
        "email": "shantuo@google.com",
        "time": "Thu Sep 22 15:46:31 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Oct 03 20:53:23 2016 +0000"
      },
      "message": "internal: fall back to use background ticket when request ticket is unavailable.\n\nRequest ticket is unavailable in Flex environment. Calls using request\ntickets will use background tickets instead. This fix will break log\ngrouping by requests.\n\nChange-Id: Iea71dd1d5ce95394c67a30e2f67a6be3bef1e266\n"
    },
    {
      "commit": "150dc57a1b433e64154302bdc40b6bb8aefa313a",
      "tree": "56e1332c79b68e8835e0fea65d349d8404713970",
      "parents": [
        "f9135af6c6b3c8ff4e452c9266519c97cf27ef32"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Sep 29 17:07:04 2016 +1000"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu Sep 29 20:31:17 2016 +0000"
      },
      "message": "README: clarify blobstore deprecation message\n\nNot all of the blobstore package is deprecated: some features (like\nuploading) are still supported and do not require direct GCS usage.\n\nAlso update the the URL for the storage veneer.\n\nChange-Id: Ic5205e83bae7d315cd46550f4bd09d0a895c4bf8\n"
    },
    {
      "commit": "f9135af6c6b3c8ff4e452c9266519c97cf27ef32",
      "tree": "db43f00cdccad1cb317bc2fe188029bf563bc8b5",
      "parents": [
        "8d4efd07a9358ec8c7e75b29387c31a7692db8d2"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Tue Sep 27 14:49:09 2016 +1000"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Sep 29 17:03:43 2016 +1000"
      },
      "message": "datastore: fix typo in Query.Count\n\nChange-Id: I843efd1e6fbd2303cd850fd0870e0993e8cc5143\n"
    },
    {
      "commit": "8d4efd07a9358ec8c7e75b29387c31a7692db8d2",
      "tree": "7fae0c345386e97642861cc8c923fea63aac711a",
      "parents": [
        "45688856612892bdabe348fff413e5075ac72f46"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Sep 22 15:10:26 2016 +1000"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@google.com",
        "time": "Tue Sep 27 01:26:27 2016 +0000"
      },
      "message": "travis: fix versions and unzip verbosity\n\nDon\u0027t pin to specific minor releases: just 1.6 and 1.7 is fine.\n\nMake the unzipping quiet, since printing all the file names clogs up the\nlogs.\n\nChange-Id: I256ae1221cc64a05cc89438102454c574da23a87\n"
    },
    {
      "commit": "45688856612892bdabe348fff413e5075ac72f46",
      "tree": "e9e78ac93f6779d55c9fa84c8db06325d7cfdb23",
      "parents": [
        "7e496c5f9031d6efa39b8a884386a9107181bbc0"
      ],
      "author": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Fri Sep 16 11:07:00 2016 -0700"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@google.com",
        "time": "Thu Sep 22 05:35:07 2016 +0000"
      },
      "message": "delay: return error when functions share keys\n\nFixes #18\n\nChange-Id: I0917175a761c8f48d886a866a1512ed67e7ac160\n"
    },
    {
      "commit": "7e496c5f9031d6efa39b8a884386a9107181bbc0",
      "tree": "bd554a580b53397c3c67d61c443d029802731280",
      "parents": [
        "78199dcb0669fc381c22e919e1e97eba879e8f60"
      ],
      "author": {
        "name": "Sarah Adams",
        "email": "shadams@google.com",
        "time": "Wed Sep 14 14:10:57 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Sep 19 23:06:01 2016 +0000"
      },
      "message": "datastore: permit multiple struct field tag options\n\nChange-Id: Iab7b33d8a2ab787d36319cdb8812b66078d6e567\n"
    },
    {
      "commit": "78199dcb0669fc381c22e919e1e97eba879e8f60",
      "tree": "42e88a4d3c3e4cb0fb404a322df28014eb105859",
      "parents": [
        "4f7eeb5305a4ba1966344836ba4af9996b7b4e05"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Wed Sep 14 13:40:34 2016 +1000"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Wed Sep 14 13:45:56 2016 +1000"
      },
      "message": "datastore/metadata: delete the entityGroupKind const\n\nThis is current un-used (and is currently incorrect), so remove it until\nwe need it.\n\nFixes #20\n\nChange-Id: Iff1b887bc885a7b39e53f1bc9ab5f006fae27b5d\n"
    },
    {
      "commit": "4f7eeb5305a4ba1966344836ba4af9996b7b4e05",
      "tree": "98a96f7c919bdf0f42efb3f014b7c8973bb35162",
      "parents": [
        "e951d3868b377b14f4e60efa3a301532ee3c1ebf"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Fri Aug 19 16:33:10 2016 -0700"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@google.com",
        "time": "Tue Aug 23 00:15:27 2016 +0000"
      },
      "message": "cmd/aedeploy: ignore go1.7 build tag\n\nThe go1.7 runtime isn\u0027t out yet, but aedeploy built with a local Go 1.7 will\nbundle dependencies suited for a 1.7 builder.\n\nIgnore the go1.7 build tag to keep bundling dependencies like an\naedeploy built with 1.6.\n\nChange-Id: I9463562ba5b6e8cbae2bf6cfcb405c9987bf27a7\n"
    },
    {
      "commit": "e951d3868b377b14f4e60efa3a301532ee3c1ebf",
      "tree": "e54ccbe1bd81d24060d9b52785fc7adb10b76476",
      "parents": [
        "b4728023490a62e70ba739ff62aa65ffcca84210"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Wed Aug 10 13:11:16 2016 -0700"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@google.com",
        "time": "Wed Aug 10 20:55:38 2016 +0000"
      },
      "message": "travis: use 1.6.3 and 1.7rc6, use 1.9.40 SDK\n\nAlso, don\u0027t run the health checker test with goapp. This code does not\nexist with the \"appengine\" build tag.\n\nChange-Id: If67c9af848773c2dcdab527c57724993c7aa3db1\n"
    },
    {
      "commit": "b4728023490a62e70ba739ff62aa65ffcca84210",
      "tree": "5980862320ffb4b54add74b78d47eb6fc234d217",
      "parents": [
        "f21d98e7aefbf9ff4d5eeba05d7a925cc7ac20c3"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Sun Aug 07 22:09:58 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Sun Aug 07 22:12:34 2016 -0700"
      },
      "message": "runtime: update RunInBackground doc to include basic scaling.\n\nChange-Id: If7c2fe7db843839b95204e03098cac2b3cb94467\n"
    },
    {
      "commit": "f21d98e7aefbf9ff4d5eeba05d7a925cc7ac20c3",
      "tree": "b55518d794020c6177b160ec5d1172ce4bef1c30",
      "parents": [
        "86ac41ab9543b2c05e71af71ccdea05e26a037b0"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Jul 11 21:53:28 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Jul 18 10:33:08 2016 -0700"
      },
      "message": "search: expose CountAccuracy in SearchOptions.\n\nChange-Id: I06859f286325e1491f84fa5cd1bcca56d89414a9\n"
    },
    {
      "commit": "86ac41ab9543b2c05e71af71ccdea05e26a037b0",
      "tree": "0d3dc45ca8b0652963ccb4fc9a4fe2cd30fc3702",
      "parents": [
        "8d4b9e99ddd83f9654e3347a58ba925d3f8a4d10"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu Jul 07 17:20:36 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu Jul 07 17:20:36 2016 -0700"
      },
      "message": "datastore: force timestamps to be loaded in UTC.\n\nChange-Id: I503d2dbe0ac04a111b4608b24fcf99cd670724eb\n"
    },
    {
      "commit": "8d4b9e99ddd83f9654e3347a58ba925d3f8a4d10",
      "tree": "b1fa8621c24652a595bbd4562d1352cf7efc8ae0",
      "parents": [
        "a5c54acc38d6dd34ed13bf687807645a857d9096"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu Jul 07 11:11:33 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu Jul 07 23:40:48 2016 +0000"
      },
      "message": "appengine: introduce appengine.Main() for Standard.\n\nChange-Id: I0d91ec92234c073f8a29535c416980a8ae9f42b9\n"
    },
    {
      "commit": "a5c54acc38d6dd34ed13bf687807645a857d9096",
      "tree": "3e289adb3cbbfa9918a6e7878a3868d341cc7892",
      "parents": [
        "267c27e7492265b84fc6719503b14a1e17975d79"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu Jul 07 11:15:24 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu Jul 07 15:35:26 2016 -0700"
      },
      "message": "datastore: fix broken TestNamspaceResetting test.\n\nChange-Id: I311dfdd7a8624bf15e7031f37f228804bd8584c1\n"
    },
    {
      "commit": "267c27e7492265b84fc6719503b14a1e17975d79",
      "tree": "caa0a449a965236a7af9602b478458d84fe6f3e0",
      "parents": [
        "b23d9d81fe507224e2a741a7c04a5988b59203d6"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Jun 20 22:59:22 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Mon Jun 20 23:04:16 2016 -0700"
      },
      "message": "Revert \"Use JSON logging in App Engine Flexible.\"\n\nThe StackDriver logging UI does not yet support correlating log lines to\na request for App Engine Flexible applications which makes debugging\nvery difficult. Reverting this API change until that work has been\ncompleted.\n\nThis reverts commits: fdde6e0, ba0bf02, ae7726d.\n\nChange-Id: Iea0dfccce1fc7dd95a12faba04525dae37771808\n"
    },
    {
      "commit": "b23d9d81fe507224e2a741a7c04a5988b59203d6",
      "tree": "304ba76b4558296c277732db08204b38599c477d",
      "parents": [
        "7f59a8c76b8594d06044bfe0bcbe475cb2020482"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Tue May 31 15:30:09 2016 +1000"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Tue May 31 15:33:56 2016 +1000"
      },
      "message": "datastore: clarify the cost of Count and GetAll\n\nAdded comments to highlight that Count and GetAll both are expensive\noperations for large result sets. The language is derived from the\nPython App Engine docs:\nhttps://cloud.google.com/appengine/docs/python/datastore/queryclass#Instance_Methods\n\nChange-Id: Id651d5037f8e54ecf9e8214d550d8cba9cc54721\n"
    },
    {
      "commit": "7f59a8c76b8594d06044bfe0bcbe475cb2020482",
      "tree": "cc2b347b48b954783de87ec52fb9c6096d0eb53c",
      "parents": [
        "5a9e2b406e4e87cd8a88d1881a31b1248da2e928"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Mon May 16 13:30:09 2016 -0700"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@google.com",
        "time": "Tue May 17 01:28:22 2016 +0000"
      },
      "message": "delay: fix example in doc comment\n\nChange-Id: I3732eb1ff659cd1079248d4cecfefaeeab5c192d\n"
    },
    {
      "commit": "5a9e2b406e4e87cd8a88d1881a31b1248da2e928",
      "tree": "dbda7503aa4553159aa56f55c3546e1199ea4872",
      "parents": [
        "1abd0942aaf03cc6f679c1a43f39e0b64360655a"
      ],
      "author": {
        "name": "Robert Iannucci",
        "email": "iannucci@google.com",
        "time": "Tue Apr 26 14:25:09 2016 -0700"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@google.com",
        "time": "Tue May 17 01:27:11 2016 +0000"
      },
      "message": "Normalize namespace and transaction application.\n\nThis causes Call to apply Namespace at the very beginning of the\nCall chain.\n\nThis prevents an issue where some appserver APIs treat NameSpace\u003dnil\nand NameSpace\u003d\"\" distinctly (with the latter being an error). Now if\nthe namespace is unset or set to \"\" in the SDK, no namespace will be\napplied to the outgoing message.\n\nThis also implements a very basic ContextForTesting for classic\ntesting.\n\nChange-Id: I0c5c2917d958920ab015b8cf7f6b34a2a1b8d2a0\n"
    },
    {
      "commit": "1abd0942aaf03cc6f679c1a43f39e0b64360655a",
      "tree": "be4045e31682ea366f3287518d1c4daa75b4b52e",
      "parents": [
        "2058857f4c5e703fa864786f23b1d1804fd3dd0f"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Fri May 13 15:50:18 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Fri May 13 15:50:56 2016 -0700"
      },
      "message": "internal: Flex logging falls back to stderr.\n\nChange-Id: If8ee3d7da19db018924b119e7bb1193fa37620ca\n"
    },
    {
      "commit": "2058857f4c5e703fa864786f23b1d1804fd3dd0f",
      "tree": "7d1ea68fd9a6e3102a5fa6bf2501d3eb72bb41f4",
      "parents": [
        "5803211dbc6193ff1015bf22b8d3ba1b12f638b9"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Fri May 13 11:33:01 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Fri May 13 11:41:51 2016 -0700"
      },
      "message": "Flex JSON logging fallsback to os.Stdout.\n\nChange-Id: I74a45dc44c769b5d2ce8a34f4b567db926722005\n"
    },
    {
      "commit": "5803211dbc6193ff1015bf22b8d3ba1b12f638b9",
      "tree": "15bc4390d427f2f1fffd0d3060502f151e6ea2b2",
      "parents": [
        "e234e71924d4aa52444bc76f2f831f13fa1eca60"
      ],
      "author": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Tue May 10 15:49:22 2016 -0700"
      },
      "committer": {
        "name": "Adam Tanner",
        "email": "adamtanner@google.com",
        "time": "Thu May 12 17:08:10 2016 -0700"
      },
      "message": "Use JSON logging in App Engine Flexible.\n\nChange-Id: I8a94e15496b3e111a8167a75a515fc90d23102f6\n"
    },
    {
      "commit": "e234e71924d4aa52444bc76f2f831f13fa1eca60",
      "tree": "5ac69d0ae58bf9b037b40e9b26e0f516cd167643",
      "parents": [
        "0f8c70efe6e140f4028f4182b6ad4f4822d63330"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Apr 18 13:32:25 2016 +1000"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Apr 18 13:53:02 2016 +1000"
      },
      "message": "aefix: Drop \"appengine\" (or updated equivalent) import if it becomes unused.\n\nChange-Id: I879d81a24768afea7598964132204ac9ed2fea78\n"
    },
    {
      "commit": "0f8c70efe6e140f4028f4182b6ad4f4822d63330",
      "tree": "2efe5469fc4963ccef21353cf6c06f2e8f9b7ee1",
      "parents": [
        "84098354bd5897d64618c6d3ecda2f4ff6a4da64"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Apr 18 13:11:54 2016 +1000"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Apr 18 13:23:34 2016 +1000"
      },
      "message": "aefix: Update code using taskqueue.QueueStats.\n\nAlso drop the suggestion to use sed from the README.\nAnyone desiring automation should use aefix instead.\n\nChange-Id: I296056ce27400372751783db88e1a2eab102be5a\n"
    },
    {
      "commit": "84098354bd5897d64618c6d3ecda2f4ff6a4da64",
      "tree": "fc59b19d9bef9cab9941f5f6b45db48737b25784",
      "parents": [
        "44c1cf15c6facf2e2f5f98f03a88318bd7d592da"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Apr 18 11:56:00 2016 +1000"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Apr 18 12:37:54 2016 +1000"
      },
      "message": "aefix: Update funcs that take an appengine.Context argument.\n\nAlso fix up the lastContext identifier tracking. If we hang on to the\nspecific AST node, refersTo works, and we just have to take care when\ninserting it into other positions in the AST.\n\nChange-Id: I8779daa414d230034d0e528e81776f1306533984\n"
    },
    {
      "commit": "44c1cf15c6facf2e2f5f98f03a88318bd7d592da",
      "tree": "139e77e251921ad8a677c03cfdcf8bcd7c0b8727",
      "parents": [
        "c8bc8a996f05c4c477475fc0ae5d6614136be4c0"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Apr 18 11:32:56 2016 +1000"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Apr 18 11:33:04 2016 +1000"
      },
      "message": "Mention aefix in the README.\n\nIt\u0027s complete enough for people to use.\n\nChange-Id: If279bc9410b7ce3874f2d2ab382085391fc69a7f\n"
    },
    {
      "commit": "c8bc8a996f05c4c477475fc0ae5d6614136be4c0",
      "tree": "f8095ff07c12efa5b5082d1319d0a3e7b84345be",
      "parents": [
        "b67c870a16a2d58b3afa024461dcc51805f52e9d"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Fri Apr 15 14:44:26 2016 +1000"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Fri Apr 15 14:44:26 2016 +1000"
      },
      "message": "cmd/aefix: Initial implementation.\n\nThis is derived from gofix as at 477b2e70b12d in the Go repo,\nwith its fixes removed and App Engine-specific fixes added.\n\nChange-Id: Ibc883010d937840c8c3a94fea6d1ef75bc4bd61b\n"
    },
    {
      "commit": "b67c870a16a2d58b3afa024461dcc51805f52e9d",
      "tree": "6e0ad32997dc2177b9bae6ab8b2a4ad0a3efd5f0",
      "parents": [
        "0520f7450c5ed76025601493abb37a6b56ba0332"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Mar 31 15:59:47 2016 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Mar 31 16:56:33 2016 +1100"
      },
      "message": "search: document the \"-\" struct tag behaviour\n\nChange-Id: I2203dd19d00d0839d241a24a46fa022b44655eac\n"
    },
    {
      "commit": "0520f7450c5ed76025601493abb37a6b56ba0332",
      "tree": "9019a583855484345752e4c536cc53cb6b2bad3b",
      "parents": [
        "235683bafa3c889c047ef6ec67bd2e65f3b70e83"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Mar 31 15:27:26 2016 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Mar 31 15:47:14 2016 +1100"
      },
      "message": "search: ignore struct fields with \"-\" struct tags\n\nThis change brings search in line with datastore\u0027s behaviour.\n\nAlso, fixes a bug where loading into a struct with field mismatch\nwould not return an error if there was no document metadata\n(this case could only happen in unit tests, since the metadata is\nnever nil when called from the public API).\n\nChange-Id: Ia606f94e38bf66b38c27a44d0f1fdf5e789d9545\n"
    },
    {
      "commit": "235683bafa3c889c047ef6ec67bd2e65f3b70e83",
      "tree": "260a85dfa7c7f2890a704c562273f09db9179ff8",
      "parents": [
        "a503df954af258b9a70918df2a524d6a85ecefdb"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Mar 31 14:53:49 2016 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Mar 31 15:39:13 2016 +1100"
      },
      "message": "search: fix bug stopping facets working in structs\n\nThis was working in the legacy \"appengine/search\" package, but not in\nthis version. Added a test to verify the conversion works as\nexpected.\n\nChange-Id: Icee85b9743277945ede53f186114ed7dee33eaea\n"
    },
    {
      "commit": "a503df954af258b9a70918df2a524d6a85ecefdb",
      "tree": "a5ef2d41ddba6159b7b1cf18d20aaace42ac2c65",
      "parents": [
        "41265fb44deca5c3b05a946d5db1f54ae54fe67e"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Wed Mar 23 13:00:38 2016 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Wed Mar 23 14:15:09 2016 +1100"
      },
      "message": "Update more docs to follow new Managed VM branding.\n\nChange-Id: I1efa86d65a60795877e22f78db27a5f5e4347055\n"
    },
    {
      "commit": "41265fb44deca5c3b05a946d5db1f54ae54fe67e",
      "tree": "63fadfea454e18baf93e0a7eefb26262b0b43e9e",
      "parents": [
        "12d5545dc1cfa6047a286d5e853841b6471f4c19"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Wed Mar 23 09:23:58 2016 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Wed Mar 23 09:59:41 2016 +1100"
      },
      "message": "Update README to reflect Managed VMs rebranding.\n\nChange-Id: Ic8074899ff5c545749d468f21e01bca6520c42e9\n"
    },
    {
      "commit": "12d5545dc1cfa6047a286d5e853841b6471f4c19",
      "tree": "f2062e73336610392eb81054673b50e16f16e78b",
      "parents": [
        "fb0c3ff44ee0478eeedf00179c01522463361d06"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Tue Mar 01 13:50:00 2016 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Tue Mar 01 13:50:00 2016 +1100"
      },
      "message": "appengine: fix doc typo WithAPICallFunc\n\nChange-Id: I7db65edd3b0d16afc75b541207609dfb5e62f928\n"
    },
    {
      "commit": "fb0c3ff44ee0478eeedf00179c01522463361d06",
      "tree": "818af2ed26e9b3789c938ff21c0add82f201b133",
      "parents": [
        "6a436539be38c296a8075a871cc536686b458371"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Mon Feb 29 13:48:16 2016 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Mon Feb 29 13:48:16 2016 +1100"
      },
      "message": "internal: increase max allocations to 90.\n\nThis test passes in Go 1.6, but 1.4 is allocating ~88 per API call.\nOnce the SDK is based on 1.6 we can re-reduce the limit.\n\nChange-Id: I514341b01f826524a092434d4844d3e8c30fef7d\n"
    },
    {
      "commit": "6a436539be38c296a8075a871cc536686b458371",
      "tree": "e6625a2c0184b4693efdea58eee2e22f7c7cf3ff",
      "parents": [
        "04404d306f9b325a5c1d4fbd2aee8e247b44ac7f"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Fri Feb 05 13:58:43 2016 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Fri Feb 05 13:58:55 2016 +1100"
      },
      "message": "Fix package name of internal/capability.\n\nChange-Id: I6188de11f34c16b0b13efef93526fe218619ef4a\n"
    },
    {
      "commit": "04404d306f9b325a5c1d4fbd2aee8e247b44ac7f",
      "tree": "eb70c5acb70ced0c50851e2eaeb2933f188bed1e",
      "parents": [
        "099e898d567d901122ae1abf3abed9409e86e44c"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Fri Feb 05 13:39:25 2016 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Fri Feb 05 13:39:25 2016 +1100"
      },
      "message": "internal: Use the recommended metadata header.\n\nChange-Id: I92d1cbd766f152b26c8ffe8522e368d379e52028\n"
    },
    {
      "commit": "099e898d567d901122ae1abf3abed9409e86e44c",
      "tree": "502b41bcfd019a1948694e551af93776ae51a443",
      "parents": [
        "6bde959377a90acb53366051d7d587bfd7171354"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Mon Feb 01 10:34:22 2016 -0800"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@google.com",
        "time": "Tue Feb 02 00:00:48 2016 +0000"
      },
      "message": "demos: remove manual_scaling directives from app.yaml\n\nChange-Id: If4c278ce9d2a20c91b778e4f7642b5fefc93ebb7\n"
    },
    {
      "commit": "6bde959377a90acb53366051d7d587bfd7171354",
      "tree": "30e036dc37c8b808b7ce1c4a55c5d858f087aade",
      "parents": [
        "3db3c95e4ebb4ef643a5f34290e655c6de89d930"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Mon Jan 11 16:01:37 2016 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "davidday@google.com",
        "time": "Mon Jan 18 04:51:25 2016 +0000"
      },
      "message": "datastore: add metadata accessor functions\n\nNew functions are:\n- EntityGroupVersion\n- Namespaces\n- Kinds\n- KindProperties\n\nChange-Id: I6168a31cd11a0393c1e3791f16770f551f956f37\n"
    },
    {
      "commit": "3db3c95e4ebb4ef643a5f34290e655c6de89d930",
      "tree": "0b92ce7a2a363a4f7d7b1fbc966340fbee2d2ea4",
      "parents": [
        "87c823d286825e312f105710a0087132dfd9a214"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Jan 18 15:05:02 2016 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Jan 18 15:05:04 2016 +1100"
      },
      "message": "internal: Narrow and lower allocation per API call acceptable range.\n\nThe latest Go compilers have gotten a bit smarter.\n\nChange-Id: I9b7c0a730d2da66752ea198ab42b2c89e42a64de\n"
    },
    {
      "commit": "87c823d286825e312f105710a0087132dfd9a214",
      "tree": "da63047e6e5e32c580c1bf8f7c17438c4f4db167",
      "parents": [
        "54bf9150c922186bfc45a00bf9dfcb91a5063275"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Jan 18 14:54:28 2016 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Jan 18 14:54:28 2016 +1100"
      },
      "message": "datastore: Add tests for noindex repeated fields.\n\nChange-Id: I6f7ec5aa20d2b52a3e28821cd54139df441f67bf\n"
    },
    {
      "commit": "54bf9150c922186bfc45a00bf9dfcb91a5063275",
      "tree": "d122cc54048bdb21b83a4f026bd36bb67d531bd3",
      "parents": [
        "58c0e2a2044a8d1abd8dd1d97939cd74497d0806"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Jan 04 14:31:56 2016 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Jan 04 14:57:12 2016 +1100"
      },
      "message": "Refactor namespace application so it gets correctly applied implicitly.\n\nPreviously, a call to appengine.Namespace would work because it used\nboth internal.WithNamespace and internal.WithCallOverride. However,\nappengine.NewContext was only using internal.WithNamespace and so API\ncalls made under an implicit namespace (such as when handling a\ntaskqueue PUSH task) would not properly namespace its messages.\n\nChange-Id: I0075425ae1877ae0520c997f1182dec6cc337190\n"
    },
    {
      "commit": "58c0e2a2044a8d1abd8dd1d97939cd74497d0806",
      "tree": "c6bb92a228d3686751dcf56eb3a36791169645ec",
      "parents": [
        "ea2803184885858bb094b58ddeac06b3675b9994"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Wed Dec 16 21:03:11 2015 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Wed Dec 16 21:11:21 2015 +1100"
      },
      "message": "search: fix typo in comment (ISO 639 not 693).\n\nChange-Id: I8f360c9e72b3177bbbcd97aabad92dcf71798c40\n"
    },
    {
      "commit": "ea2803184885858bb094b58ddeac06b3675b9994",
      "tree": "1115322deec484061e415c09858208833cedc474",
      "parents": [
        "7bed6a18ea6f00deda4ea0b2797f715c7c555a6c"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 14 10:46:29 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 14 10:46:29 2015 +1100"
      },
      "message": "search: Fix typo in package doc comment.\n\nChange-Id: Ic0d8a7850a8fc9633e70c1401319f0a184846708\n"
    },
    {
      "commit": "7bed6a18ea6f00deda4ea0b2797f715c7c555a6c",
      "tree": "3a9762df7ef53bfb469d1c52d2c5951538bc7d59",
      "parents": [
        "7f9f17f358c21d90f402980f83776898c53cb377"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Wed Dec 09 13:39:06 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Wed Dec 09 13:39:06 2015 +1100"
      },
      "message": "aetest: Fix example code use of aetest.NewContext.\n\nChange-Id: I34d58da17a17d89affa9c0b1e1b9c727b4bfb098\n"
    },
    {
      "commit": "7f9f17f358c21d90f402980f83776898c53cb377",
      "tree": "33d8dceb29a4b1f11ec5729118b5b31272e16e30",
      "parents": [
        "7ec9ea90505230c249450228684a6130f6a78233"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 13:22:06 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 13:22:06 2015 +1100"
      },
      "message": "Add capability package.\n\nChange-Id: I659c497cf27d98a6b5b004f34affdf38e154f5fa\n"
    },
    {
      "commit": "7ec9ea90505230c249450228684a6130f6a78233",
      "tree": "5a795ca7f2c2e50e039eddf84d8d82ca850a9bd9",
      "parents": [
        "8b917ad4407e6cfac70aa9e97942741518aaca28"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 13:17:10 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 13:17:10 2015 +1100"
      },
      "message": "Add internal/capability proto.\n\nChange-Id: I4602bc8e633915a19a480a713ca21a55facc30ce\n"
    },
    {
      "commit": "8b917ad4407e6cfac70aa9e97942741518aaca28",
      "tree": "e83c6f94bd5eeeb3f98a798dc8aa201079abac99",
      "parents": [
        "ccbe394506855ff4d6f0e49cd06695c5d00a70e1"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 11:39:39 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 11:39:39 2015 +1100"
      },
      "message": "datastore: Refresh package doc to follow modern style.\n\nChange-Id: I033170666cf5ee428ec6edca1fce777dc113b33f\n"
    },
    {
      "commit": "ccbe394506855ff4d6f0e49cd06695c5d00a70e1",
      "tree": "b0ad45e2627696f3d0c47a8af331c13367856498",
      "parents": [
        "af498fd35a50a55d9d2d1e1b62df2cdd550c5f25"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 11:16:23 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 11:16:23 2015 +1100"
      },
      "message": "Add cloudsql package.\n\nChange-Id: Id9fbc1dc30148c5662178c2f48dce2ff462fafed\n"
    },
    {
      "commit": "af498fd35a50a55d9d2d1e1b62df2cdd550c5f25",
      "tree": "3a5ec5529424e03eec9ea4470498cd4f0fca2d21",
      "parents": [
        "641cd92dc93639312eaaca47666f6e183ab6f411"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 10:52:47 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 10:53:47 2015 +1100"
      },
      "message": "appengine/aetest: Add package doc.\n\nChange-Id: I647003787ccb34da67e0b4cbb90df1ae97ba035e\n"
    },
    {
      "commit": "641cd92dc93639312eaaca47666f6e183ab6f411",
      "tree": "5bd30b07786b0116c50dd974a21a1868c82ea116",
      "parents": [
        "d1a42f52ede0dee193ca4bef13a979eaa9578649"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Thu Nov 19 10:28:57 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Mon Dec 07 10:53:47 2015 +1100"
      },
      "message": "Handle expired contexts at the start of internal.Call.\n\nChange-Id: I503b65337216c89e7d6234e1055b6566b427e3ea\n"
    },
    {
      "commit": "d1a42f52ede0dee193ca4bef13a979eaa9578649",
      "tree": "c7b27a9d4e98db99d79802f9e628082997c8566b",
      "parents": [
        "6a9e12ad5cdb9f654cae4b1caa8982d646b5a633"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Nov 19 15:43:11 2015 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Nov 19 15:56:04 2015 +1100"
      },
      "message": "appengine/aetest: make error handling more rigorous\n\nChange-Id: Iac6e805217aa0035fa1f2108a1928c82200a9c35\n"
    },
    {
      "commit": "6a9e12ad5cdb9f654cae4b1caa8982d646b5a633",
      "tree": "e0bc9ee051b4aed85a13c5b0a01b65d00f3e0e82",
      "parents": [
        "b527c9d0baa85f1867a1418a6d96692f1a9ff9b3"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Wed Nov 18 10:48:09 2015 +1100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 18 02:03:33 2015 +0000"
      },
      "message": "aedeploy: fix minor error in fmt.Errorf call\n\nAdd missing param to fmt.Errorf call. Also switch %v-\u003e%q for file and\ndir names.\n\nChange-Id: I2fdfffd3cf187f8d95b16781f508dbd34eb7dd42\n"
    },
    {
      "commit": "b527c9d0baa85f1867a1418a6d96692f1a9ff9b3",
      "tree": "1fafba243030c1893ca56c511555fc75e58786a6",
      "parents": [
        "c79b783e1d9eb6e1456692149245824cedeefef9"
      ],
      "author": {
        "name": "Glenn Lewis",
        "email": "gmlewis@google.com",
        "time": "Tue Nov 17 08:41:35 2015 -0800"
      },
      "committer": {
        "name": "Glenn Lewis",
        "email": "gmlewis@google.com",
        "time": "Tue Nov 17 08:51:34 2015 -0800"
      },
      "message": "appengine/internal: add cloud trace header to Managed VM apps\n\nChange-Id: I6da52649325496d570726e2b14908798c66df8e3\n"
    },
    {
      "commit": "c79b783e1d9eb6e1456692149245824cedeefef9",
      "tree": "71fdcb1f8bfdae48c6b0d5749eae95a9c89bfacf",
      "parents": [
        "488e34aaffd6e7f0cf3e849664a2d305c5298868"
      ],
      "author": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Nov 12 13:29:59 2015 +1100"
      },
      "committer": {
        "name": "Dave Day",
        "email": "djd@golang.org",
        "time": "Thu Nov 12 13:43:46 2015 +1100"
      },
      "message": "appengine/aetest: fix datarace\n\nMake sure that startChild has stopped reading stderr from the\ndev_appserver process before it returns. This prevents a race from\nhappening when Close is called.\n\nChange-Id: I14a070465ea43d837eed91007db3ddbace433b27\n"
    },
    {
      "commit": "488e34aaffd6e7f0cf3e849664a2d305c5298868",
      "tree": "58a8b7c83040e069a1afebf7f1502a901f71bc79",
      "parents": [
        "cb0aba0eb7775f95cd150682648222497cc45282"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Thu Nov 05 11:08:43 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Thu Nov 05 11:08:43 2015 +1100"
      },
      "message": "Update README.md to be clearer about the purpose of this repository.\n\nThis is for both classic App Engine and Managed VMs.\n\nChange-Id: Iaa2ee15622ac276af9a36707c465d99808870cca\n"
    },
    {
      "commit": "cb0aba0eb7775f95cd150682648222497cc45282",
      "tree": "4be6b8850015b54b287ed7133683f499e5fbc53d",
      "parents": [
        "20bdbce0313eb1545819a5ead76f620a3636f0ed"
      ],
      "author": {
        "name": "Glenn Lewis",
        "email": "gmlewis@google.com",
        "time": "Thu Oct 22 06:46:20 2015 -0700"
      },
      "committer": {
        "name": "Glenn Lewis",
        "email": "gmlewis@google.com",
        "time": "Thu Oct 29 16:24:41 2015 -0700"
      },
      "message": "appengine/cmd/aedeploy: follow symlinks to folders when copying tree\n\nFixes #7.\n\nChange-Id: I5b61b18dcda0d32bef9e7ef9366371b4ac39ea29\n"
    },
    {
      "commit": "20bdbce0313eb1545819a5ead76f620a3636f0ed",
      "tree": "1cf7b1a00f13241d09f8016a9ad7c986927d4bcb",
      "parents": [
        "0ac9e09551f2e9034b52dda71cfa3d30bccc52f0"
      ],
      "author": {
        "name": "Glenn Lewis",
        "email": "gmlewis@google.com",
        "time": "Mon Oct 19 14:23:51 2015 -0700"
      },
      "committer": {
        "name": "Glenn Lewis",
        "email": "gmlewis@google.com",
        "time": "Mon Oct 19 14:27:19 2015 -0700"
      },
      "message": "appengine/aetest: prevent dev_appserver from monitoring file changes during test\n\nFixes #12456.\n\nChange-Id: Id918c73a1f27f26ab11f2a6363385e6eff393552\n"
    },
    {
      "commit": "0ac9e09551f2e9034b52dda71cfa3d30bccc52f0",
      "tree": "7c73e3046db9acd29769bdc1122a038e4842b6eb",
      "parents": [
        "75a29a66d4850a15c19eb6d70a31f5c453572be0"
      ],
      "author": {
        "name": "Glenn Lewis",
        "email": "gmlewis@google.com",
        "time": "Thu Oct 15 12:42:32 2015 -0700"
      },
      "committer": {
        "name": "Glenn Lewis",
        "email": "gmlewis@google.com",
        "time": "Thu Oct 15 12:43:50 2015 -0700"
      },
      "message": "appengine/aetest: make aetest work with \"vm: true\" apps\n\nChange-Id: Iec495b87f3fa2ec4aae10853f9fd350d27c26121\n"
    },
    {
      "commit": "75a29a66d4850a15c19eb6d70a31f5c453572be0",
      "tree": "61461f896a1b45fc55b9a921c5dd8130279771ed",
      "parents": [
        "29d28a2fa097a4c0276d9e5531a6a43799d48f3e"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Tue Oct 06 11:15:13 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Tue Oct 06 14:09:21 2015 +1100"
      },
      "message": "Regenerate internal protos.\n\nThis is a no-op.\n\nChange-Id: I608e4f6a65c7dfd882c2745352fd751697e3bf38\n"
    },
    {
      "commit": "29d28a2fa097a4c0276d9e5531a6a43799d48f3e",
      "tree": "8cfb6107128d4d26d85ea6c27361f5f16db04ded",
      "parents": [
        "0540a3580ff4953b2ca4a4a43b75d3d31fa4d53a"
      ],
      "author": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Tue Oct 06 11:13:27 2015 +1100"
      },
      "committer": {
        "name": "David Symonds",
        "email": "dsymonds@golang.org",
        "time": "Tue Oct 06 14:09:21 2015 +1100"
      },
      "message": "Add runtime package.\n\nChange-Id: I243548c0e018093d262b0a7d730970bc220c6072\n"
    }
  ],
  "next": "0540a3580ff4953b2ca4a4a43b75d3d31fa4d53a"
}
