)]}'
{
  "log": [
    {
      "commit": "90f7188b4c43f15fc64a3b1c3d3381ea267ce6e2",
      "tree": "87a2f2c285cea0b77d106b0bd4f813228ca8e0cb",
      "parents": [
        "f024adabd9b2d13e929ac4c664fc0ba6b69e44c9"
      ],
      "author": {
        "name": "sg0hsmt",
        "email": "sg0hsmt@gmail.com",
        "time": "Wed Apr 10 20:02:39 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 10 20:02:39 2024"
      },
      "message": "v2/search: Remove golang.org/x/net dependency (#343)\n\nUse standard context instead of golang.org/x/net/context, and remove dependency.\r\n\r\nrefs: #295"
    },
    {
      "commit": "f024adabd9b2d13e929ac4c664fc0ba6b69e44c9",
      "tree": "94c2042cd07bece34f2666329bfdf0b0705b50d5",
      "parents": [
        "5f299ed134dd9470e8b68d2ffd82485ef02c4b0d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Apr 09 19:42:17 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 09 19:42:17 2024"
      },
      "message": "build(deps): bump golang.org/x/net in /v2 (#330)\n\nBumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20220722155237-a158d28d115b to 0.17.0.\r\n- [Commits](https://github.com/golang/net/commits/v0.17.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: golang.org/x/net\r\n  dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "5f299ed134dd9470e8b68d2ffd82485ef02c4b0d",
      "tree": "223fa20db742d86dd76a3a777fab585a2b16adfb",
      "parents": [
        "8a1798d8fa96117241f62c0f291b801b79ca0d1e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Apr 09 18:36:35 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 09 18:36:35 2024"
      },
      "message": "build(deps): bump google.golang.org/protobuf from 1.26.0 to 1.33.0 (#347)\n\nBumps google.golang.org/protobuf from 1.26.0 to 1.33.0.\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: google.golang.org/protobuf\r\n  dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8a1798d8fa96117241f62c0f291b801b79ca0d1e",
      "tree": "65f6945a7382d793f50a2e104a096f2480d3f395",
      "parents": [
        "3ab9c40c53fc8b2b053d3fe76ccd03fdc3178ab6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Apr 09 18:36:05 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 09 18:36:05 2024"
      },
      "message": "build(deps): bump google.golang.org/protobuf in /v2 (#348)\n\nBumps google.golang.org/protobuf from 1.30.0 to 1.33.0.\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: google.golang.org/protobuf\r\n  dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "3ab9c40c53fc8b2b053d3fe76ccd03fdc3178ab6",
      "tree": "d34be55e89a346bb2ea7b7bdc19c6d1ebc534f77",
      "parents": [
        "aabaab1e9a9b0f7fc697c36f97735c4d572be889"
      ],
      "author": {
        "name": "Kenneth Ye",
        "email": "30275095+kennethye1@users.noreply.github.com",
        "time": "Mon Apr 08 21:36:47 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 08 21:36:47 2024"
      },
      "message": "Update go versions to 1.22 and remove end of support runtimes (#353)\n\n* Update go versions to 1.22\r\n\r\nSigned-off-by: kennethye1 \u003ckennethye1@hotmail.com\u003e\r\n\r\n* Upgrade aetest to go122\r\n\r\nSigned-off-by: kennethye1 \u003ckennethye1@hotmail.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: kennethye1 \u003ckennethye1@hotmail.com\u003e"
    },
    {
      "commit": "aabaab1e9a9b0f7fc697c36f97735c4d572be889",
      "tree": "f1e47d118b7a00a150a85db63d5f591aa7f3b9ec",
      "parents": [
        "0bd0398fa9e8a8e9dd9dc5c33d8374f6b7f5e17b"
      ],
      "author": {
        "name": "Diogo Teles Sant\u0027Anna",
        "email": "diogoteles@google.com",
        "time": "Wed Dec 13 18:53:22 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 13 18:53:22 2023"
      },
      "message": "Feature: Hash-pin sensitive workflow dependencies and enable dependabot for them (#332)\n\n* feat: hash-pin sensitive workflows\r\n\r\nSigned-off-by: Diogo Teles Sant\u0027Anna \u003cdiogoteles@google.com\u003e\r\n\r\n* feat: configure dependabot to run over github actions\r\n\r\nThis also is specifying how dependabot will work on updates for go\r\nmodules.\r\n\r\nThe config is set up to:\r\n- Update github actions together in a single monthly PR\r\n- Version updates for GO modules from \"/go.mod\" will be sent together in a weekly PR.\r\n- Version updates for GO modules from \"/v2/go.mod\" will be sent separately from the\r\nones in \"/go.mod\", but will also be sent together in a weekly PR.\r\n\r\nSigned-off-by: Diogo Teles Sant\u0027Anna \u003cdiogoteles@google.com\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Diogo Teles Sant\u0027Anna \u003cdiogoteles@google.com\u003e"
    },
    {
      "commit": "0bd0398fa9e8a8e9dd9dc5c33d8374f6b7f5e17b",
      "tree": "7607948ba4a29e10f6319e6f3b620602861770f3",
      "parents": [
        "7e3e91d83932daa89a2476e6c61129ace57a24fa"
      ],
      "author": {
        "name": "Diogo Teles Sant\u0027Anna",
        "email": "diogoteles@google.com",
        "time": "Thu Dec 07 16:37:04 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 07 16:37:04 2023"
      },
      "message": "Create Security Policy (#329)\n\n"
    },
    {
      "commit": "7e3e91d83932daa89a2476e6c61129ace57a24fa",
      "tree": "36a59b0157622b300b957fbf6a76585f8590396c",
      "parents": [
        "aa58fcd18e4ab7ac816760ee266fa30a0907ab9e"
      ],
      "author": {
        "name": "Diogo Teles Sant\u0027Anna",
        "email": "diogoteles@google.com",
        "time": "Mon Sep 25 20:55:22 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 25 20:55:22 2023"
      },
      "message": "ci: set minimal permisisons on github workflows (#325)\n\nSigned-off-by: Diogo Teles Sant\u0027Anna \u003cdiogoteles@google.com\u003e"
    },
    {
      "commit": "aa58fcd18e4ab7ac816760ee266fa30a0907ab9e",
      "tree": "1d32ef3b01565ddf73523e5b2a0faea2138d9134",
      "parents": [
        "ef2135aad62454e588006ef8beb7247022461e6c"
      ],
      "author": {
        "name": "Jongwoo Han",
        "email": "jongwooo.han@gmail.com",
        "time": "Wed Aug 30 01:12:52 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 30 01:12:52 2023"
      },
      "message": "Replace deprecated command with environment file (#318)\n\nSigned-off-by: jongwooo \u003cjongwooo.han@gmail.com\u003e"
    },
    {
      "commit": "ef2135aad62454e588006ef8beb7247022461e6c",
      "tree": "3106f565bcf98d04538433f13a4cbd9384abfda7",
      "parents": [
        "a080531dcab843de8cd8a4156b7fa1e14ebd68da"
      ],
      "author": {
        "name": "Valentin Deleplace",
        "email": "deleplace2015@gmail.com",
        "time": "Fri Aug 25 19:43:42 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 25 19:43:42 2023"
      },
      "message": "Memcache item timestamps (#323)\n\n* Add memcache item timestamps.\r\n\r\n* v1 require google.golang.org/protobuf.\r\n\r\n* Memcache new fields: use proto getters."
    },
    {
      "commit": "a080531dcab843de8cd8a4156b7fa1e14ebd68da",
      "tree": "8861670769dadfab2c7a08905a6ede2207a59d8d",
      "parents": [
        "d41edd396747399499dafcc089c87fd5a6808bc3"
      ],
      "author": {
        "name": "Chi Zhang",
        "email": "chizhg@google.com",
        "time": "Fri Aug 18 17:01:32 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 18 17:01:32 2023"
      },
      "message": "ci: Update go-version matrix (#319)\n\nSigned-off-by: GitHub \u003cnoreply@github.com\u003e\r\nCo-authored-by: chizhg \u003cchizhg@users.noreply.github.com\u003e"
    },
    {
      "commit": "d41edd396747399499dafcc089c87fd5a6808bc3",
      "tree": "46fa488c7e86c3974460d202ceb8d1117ce5ec13",
      "parents": [
        "f96845d4a0ff36edbc17e3f6600edecd427cda6f"
      ],
      "author": {
        "name": "jinglundong",
        "email": "1683035+jinglundong@users.noreply.github.com",
        "time": "Tue Jul 11 20:38:16 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 11 20:38:16 2023"
      },
      "message": "Extend the deadline of a test context to fix a timeout issue. (#316)\n\n"
    },
    {
      "commit": "f96845d4a0ff36edbc17e3f6600edecd427cda6f",
      "tree": "9c9908324221be56265ffc508d9258539f4bd8aa",
      "parents": [
        "93c9fa19a1516b31cff5056718d1b88886171dcd"
      ],
      "author": {
        "name": "jinglundong",
        "email": "1683035+jinglundong@users.noreply.github.com",
        "time": "Tue Jul 11 19:33:44 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 11 19:33:44 2023"
      },
      "message": "Upgrade python version being used by the ci workflow. (#315)\n\n* Upgrade python version being used by the ci workflow.\r\n\r\n* Update the python version in instance_vm.go.\r\n\r\n* Try to fix the v1 gomod test.\r\n\r\n* Add export python3 back.\r\n\r\n* Stop trying to find python2.7.\r\n\r\n* Seems like we still need to install python3.\r\n\r\n* There seems to be a mismatch between APPENGINE_DEV_APPSERVER_BINARY and APPENGINE_DEV_APPSERVER.\r\n\r\n* Apply the same change to v2 ci."
    },
    {
      "commit": "93c9fa19a1516b31cff5056718d1b88886171dcd",
      "tree": "a0ae2c57282828d545fa3f1e3ab2ead37399dbbc",
      "parents": [
        "f9c3e90be8b414958cf81ca4524af726919267f7"
      ],
      "author": {
        "name": "Cody Oss",
        "email": "6331106+codyoss@users.noreply.github.com",
        "time": "Tue Jul 11 00:47:16 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 11 00:47:16 2023"
      },
      "message": "fix: regenerate all protos under new namespace (#314)\n\nThis should be wire compat as field numbers did not change and\r\npackage is not apart of the serialization. I appened `.v2` to each\r\nproto package so that these protos can register distinctly from the\r\nprotos that were copied from the v1 library. This removes runtime\r\nerrors due to double registration of the same messages. Note: I did\r\nhave to specially regenerate taskqueue with a special built version\r\nof protoc-gen-go in order to generate some proto1 legacy message\r\ntype that is referenced.\r\n\r\nFixes: #311\r\nFixes: https://github.com/googleapis/google-cloud-go/issues/7760"
    },
    {
      "commit": "f9c3e90be8b414958cf81ca4524af726919267f7",
      "tree": "977dd19fa8fe4bc0d9f0e00df5d70b5b1201593f",
      "parents": [
        "4c82e82f6dd6f38f0478edf68c144d3568880fc4"
      ],
      "author": {
        "name": "Chi Zhang",
        "email": "chizhg@google.com",
        "time": "Mon Mar 27 18:55:40 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 27 18:55:40 2023"
      },
      "message": "Update go-version matrix (#309)\n\nSigned-off-by: GitHub \u003cnoreply@github.com\u003e\r\nCo-authored-by: chizhg \u003cchizhg@users.noreply.github.com\u003e"
    },
    {
      "commit": "4c82e82f6dd6f38f0478edf68c144d3568880fc4",
      "tree": "3335c4aea04cbdfaac62eaedfa4451bd8dce58e4",
      "parents": [
        "a8588697be821ebe00466f7826fdc0a2793a5c83"
      ],
      "author": {
        "name": "Chi Zhang",
        "email": "chizhg@google.com",
        "time": "Fri Mar 24 19:10:36 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 24 19:10:36 2023"
      },
      "message": "Fix the ci-update-workflow GitHub Actions (#308)\n\n"
    },
    {
      "commit": "a8588697be821ebe00466f7826fdc0a2793a5c83",
      "tree": "a04f9439b54b1af3f9afe31d83bb46079fba9d67",
      "parents": [
        "917b599e0904c1c2e6bf9bc874eb41586e5118db"
      ],
      "author": {
        "name": "Chi Zhang",
        "email": "chizhg@google.com",
        "time": "Thu Mar 23 17:31:40 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 23 17:31:40 2023"
      },
      "message": "Add a ci-update-workflow GitHub Actions to update the go-version matrix (#307)\n\nSigned-off-by: Chi Zhang \u003cchizhg@google.com\u003e"
    },
    {
      "commit": "917b599e0904c1c2e6bf9bc874eb41586e5118db",
      "tree": "d48ad39c1e8ddad94c75a206a069b633c9b2eb86",
      "parents": [
        "9d6c3532b141ed7daffc5b4080737780a9227fd6"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Thu Mar 16 22:11:53 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 16 22:11:53 2023"
      },
      "message": "Revert \"all: using the more elegant way to deal milliseconds and nanoseconds (#292)\" (#306)\n\nThis reverts commit 9d6c3532b141ed7daffc5b4080737780a9227fd6."
    },
    {
      "commit": "9d6c3532b141ed7daffc5b4080737780a9227fd6",
      "tree": "d8fae0f9172e214b4c8513ade3e7f3d8735a649e",
      "parents": [
        "f882c6341fc5e2790e69fb64b321c06fc6c944f4"
      ],
      "author": {
        "name": "cui fliter",
        "email": "imcusg@gmail.com",
        "time": "Thu Mar 16 21:44:53 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 16 21:44:53 2023"
      },
      "message": "all: using the more elegant way to deal milliseconds and nanoseconds (#292)\n\nSigned-off-by: cui fliter \u003cimcusg@gmail.com\u003e"
    },
    {
      "commit": "f882c6341fc5e2790e69fb64b321c06fc6c944f4",
      "tree": "d48ad39c1e8ddad94c75a206a069b633c9b2eb86",
      "parents": [
        "b75a6de6d8013a9762bfb393f5dddf8f43a404b2"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Mar 16 21:39:59 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 16 21:39:59 2023"
      },
      "message": "build(deps): bump golang.org/x/text from 0.3.6 to 0.3.8 (#300)\n\nBumps [golang.org/x/text](https://github.com/golang/text) from 0.3.6 to 0.3.8.\r\n- [Release notes](https://github.com/golang/text/releases)\r\n- [Commits](https://github.com/golang/text/compare/v0.3.6...v0.3.8)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: golang.org/x/text\r\n  dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b75a6de6d8013a9762bfb393f5dddf8f43a404b2",
      "tree": "5d140fe71c1972ca70d7bb904a5204ded644c2b3",
      "parents": [
        "1d09fa9162b0a5151319c64fd313eaf5904ed50a"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Thu Mar 16 21:30:00 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 16 21:30:00 2023"
      },
      "message": "Run go get google.golang.org/appengine/v2/search (#305)\n\n* Install python2 needed for the tests.\r\n\r\n* Update base image and install python2\r\n\r\n* Adding python2\r\n\r\n* adding python 2\r\n\r\n* Add more go versions to test.\r\n\r\n* remove 1.11\r\n\r\n* Adding go get google.golang.org/appengine/v2/search missing from previous PR.\r\n\r\n* Typo"
    },
    {
      "commit": "1d09fa9162b0a5151319c64fd313eaf5904ed50a",
      "tree": "246142dccc9d18638d3136a5dac8c4d53c60736f",
      "parents": [
        "40eb4d17a2bf1965e6fa39ff19b59958f84996ec"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Mar 16 01:26:34 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 16 01:26:34 2023"
      },
      "message": "build(deps): bump golang.org/x/text from 0.3.7 to 0.3.8 in /v2 (#299)\n\nBumps [golang.org/x/text](https://github.com/golang/text) from 0.3.7 to 0.3.8.\r\n- [Release notes](https://github.com/golang/text/releases)\r\n- [Commits](https://github.com/golang/text/compare/v0.3.7...v0.3.8)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: golang.org/x/text\r\n  dependency-type: direct:production\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\r\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "40eb4d17a2bf1965e6fa39ff19b59958f84996ec",
      "tree": "f34566becd8f4459f84a5f2a0f857ded6b850866",
      "parents": [
        "28bf581106b4ea7643e8f4897b0d4099053bc7cd"
      ],
      "author": {
        "name": "Valentin Deleplace",
        "email": "deleplace2015@gmail.com",
        "time": "Thu Mar 16 01:21:09 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 16 01:21:09 2023"
      },
      "message": "Add v2/search (#297)\n\n* Add v2/search\r\n\r\n* Add v2/search updated license text"
    },
    {
      "commit": "28bf581106b4ea7643e8f4897b0d4099053bc7cd",
      "tree": "625f8439cacb809de9741bb0d69b3146754ec184",
      "parents": [
        "6e2c50e5f15c4389afa69ff883327e15b9ea98c6"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zevdg@google.com",
        "time": "Thu Mar 16 01:20:05 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 16 01:20:05 2023"
      },
      "message": "just a small refactor of api_test (#291)\n\nThis makes the test more hermetic by avoiding the need to set env vars, and it also avoids some unecessary duplication of test helper logic by leveraging some of aetest\u0027s underlying implementation.\r\n\r\nThis change was originally part of #284, but I split it out because it\u0027s not compatible with v1\u0027s log flushing tests, and it would have added unecessary noise to that PR."
    },
    {
      "commit": "6e2c50e5f15c4389afa69ff883327e15b9ea98c6",
      "tree": "8049774bed028701d6e07d776a81d1e9cbcca7f7",
      "parents": [
        "9af54ae8c58a9294d0b81cfcb56b10fa614d92e5"
      ],
      "author": {
        "name": "Ludovic Champenois",
        "email": "ludo@google.com",
        "time": "Thu Mar 16 01:09:59 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 16 01:09:59 2023"
      },
      "message": "Install Python2 in base image for DevAppServer tests and change test matrix for 1.11 and 1.20.x (#304)\n\n* Install python2 needed for the tests.\r\n\r\n* Update base image and install python2\r\n\r\n* Adding python2\r\n\r\n* adding python 2\r\n\r\n* Add more go versions to test.\r\n\r\n* remove 1.11"
    },
    {
      "commit": "9af54ae8c58a9294d0b81cfcb56b10fa614d92e5",
      "tree": "cabd0648c5610b2233c60a20a5518d9438287de4",
      "parents": [
        "59aced7b1e58dec5a2c53cb22a3129a583004bff"
      ],
      "author": {
        "name": "cui fliter",
        "email": "imcusg@gmail.com",
        "time": "Wed Mar 15 23:48:57 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 15 23:48:57 2023"
      },
      "message": "all: fix some comments (#296)\n\nSigned-off-by: cui fliter \u003cimcusg@gmail.com\u003e"
    },
    {
      "commit": "59aced7b1e58dec5a2c53cb22a3129a583004bff",
      "tree": "16ac20fe365b6d6fac2c73f40c0e145ca94190a3",
      "parents": [
        "4e4a7b23ca684c1590bc0476750970cb1c70f4e1"
      ],
      "author": {
        "name": "cui fliter",
        "email": "imcusg@gmail.com",
        "time": "Wed Mar 15 22:20:28 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 15 22:20:28 2023"
      },
      "message": "README.md: fix typo (#288)\n\nSigned-off-by: cui fliter \u003cimcusg@gmail.com\u003e"
    },
    {
      "commit": "4e4a7b23ca684c1590bc0476750970cb1c70f4e1",
      "tree": "16ac20fe365b6d6fac2c73f40c0e145ca94190a3",
      "parents": [
        "06b058b43da2e6728ffe7dfa1eda4c39aa9a90c1"
      ],
      "author": {
        "name": "cui fliter",
        "email": "imcusg@gmail.com",
        "time": "Wed Mar 15 22:18:33 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 15 22:18:33 2023"
      },
      "message": "v2/README.md: fix typos (#276)\n\n"
    },
    {
      "commit": "06b058b43da2e6728ffe7dfa1eda4c39aa9a90c1",
      "tree": "b94bff7179f89ecbc959dc7f69514d4b6fa876a4",
      "parents": [
        "a1ae214131f59536026bec148fa12e70c1012c1f"
      ],
      "author": {
        "name": "Jihui Nie",
        "email": "56172920+jihuin@users.noreply.github.com",
        "time": "Tue Mar 07 01:24:16 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 07 01:24:16 2023"
      },
      "message": "Add Go 1.20 to tested Go versions (#303)\n\n"
    },
    {
      "commit": "a1ae214131f59536026bec148fa12e70c1012c1f",
      "tree": "827ac5312adaad71a1cfd4710b3d0b4da2d88f11",
      "parents": [
        "504804fb50de684368328788e3555468dd2bf41b"
      ],
      "author": {
        "name": "Sebastiaan van Stijn",
        "email": "thaJeztah@users.noreply.github.com",
        "time": "Wed Mar 01 18:29:44 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 01 18:29:44 2023"
      },
      "message": "remove golang.org/x/net dependency (#295)\n\n* remove golang.org/x/net dependency\r\n\r\nThe golang.org/x/net/context package is an alias for stdlib context\r\nsince go1.7 (see https://go-review.googlesource.com/72570)\r\n\r\nThis patch replaces all uses of it for stdlib context.\r\n\r\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\r\n\r\n* rename App Engine context type to remove import aliases\r\n\r\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e\r\n\r\n---------\r\n\r\nSigned-off-by: Sebastiaan van Stijn \u003cgithub@gone.nl\u003e"
    },
    {
      "commit": "504804fb50de684368328788e3555468dd2bf41b",
      "tree": "37766a55d52dc6e1110a6638c459572dd6c3181d",
      "parents": [
        "1bdfe3f01a19ebdc62d3cdf4211c958749fc6a0e"
      ],
      "author": {
        "name": "Jihui Nie",
        "email": "56172920+jihuin@users.noreply.github.com",
        "time": "Thu Nov 17 01:32:20 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 17 01:32:20 2022"
      },
      "message": "Add Go 1.18 and Go 1.19 to tested Go versions (#293)\n\n"
    },
    {
      "commit": "1bdfe3f01a19ebdc62d3cdf4211c958749fc6a0e",
      "tree": "2832ed0218a67a1b4e798583ef0ac1bfe7e3e105",
      "parents": [
        "b08cb36610fb05a84811a052f1bfdd9d8b1322b0"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zevdg@google.com",
        "time": "Fri Oct 14 21:47:21 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 14 21:47:21 2022"
      },
      "message": "re-apply PR #235 to v2 (#290)\n\nThis change slipped through the cracks because it was added to v1 after v2 was forked, but before v2 was landed."
    },
    {
      "commit": "b08cb36610fb05a84811a052f1bfdd9d8b1322b0",
      "tree": "5a3eb1ea629e99ba4c3866a8859488fdf05d6842",
      "parents": [
        "d981f2f002d390baf247df350188877249f725e9"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zevdg@google.com",
        "time": "Fri Oct 14 21:35:37 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 14 21:35:37 2022"
      },
      "message": "re-apply PR #232 to v2 (#289)\n\n"
    },
    {
      "commit": "d981f2f002d390baf247df350188877249f725e9",
      "tree": "c1a7ce2eb0de4dcdb348a803f1eee06ba0274c04",
      "parents": [
        "37ff2b8120966b804c4bcd270fda4726aab30f05"
      ],
      "author": {
        "name": "Yuniel Marquez Bocalandro",
        "email": "107502002+ybocalandro@users.noreply.github.com",
        "time": "Fri Aug 05 21:23:54 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 05 21:23:54 2022"
      },
      "message": "Security Vulnerability Upgrading golang.org/x/text  (#287)\n\n* Security Vulnerability Upgrading golang.org/x/text from v0.3.2 to v0.3.7\r\n\r\n* Testing signed commit"
    },
    {
      "commit": "37ff2b8120966b804c4bcd270fda4726aab30f05",
      "tree": "f72fa1c803cdec1ac48af0f96d78bf94f4eb3a09",
      "parents": [
        "1f271900b9a313057b75c8c097a3100ac88a8927"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zev.goldstein@gmail.com",
        "time": "Mon Jul 18 15:04:49 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 18 15:04:49 2022"
      },
      "message": "allow API calls without GAE context (#284)\n\nThe ApiHost used to require a security ticket for all API calls, so the\r\nclient side code used to be able to assume that  any request without one\r\nwas invalid and reject it. The backend now is able to handle requests\r\nwithout security tickets in many cases, so the client side check is now\r\njust getting in the way. This change removes that check and lets the\r\nbackend attempt to handle all requests.\r\n\r\nThe way the client implementation happened to require a security ticket\r\nwas actually by requiring a GAE context. This change removes that\r\nconstraint as well and removes the now-unecessary BackgroundContext."
    },
    {
      "commit": "1f271900b9a313057b75c8c097a3100ac88a8927",
      "tree": "02f1330740802761c529850619032d52c78ed8f8",
      "parents": [
        "65ad43f80ff82ccd598d537c48242d3ff286c31f"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zevdg@google.com",
        "time": "Thu Jul 14 22:16:18 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 14 22:16:18 2022"
      },
      "message": "prevent github from cancelling all test jobs when one fails (#285)\n\n"
    },
    {
      "commit": "65ad43f80ff82ccd598d537c48242d3ff286c31f",
      "tree": "9654675a8f1846ab76722383ae3a67439c8fcc2f",
      "parents": [
        "0c7f7a83ce74f1a06e0fddf897c077b68b515dcf"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zevdg@google.com",
        "time": "Wed Jul 13 16:17:39 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 13 16:17:39 2022"
      },
      "message": "respect GAE_ENV\u003dlocaldev (#283)\n\n"
    },
    {
      "commit": "0c7f7a83ce74f1a06e0fddf897c077b68b515dcf",
      "tree": "5158ef71b20cb0484d89d3c2ce305da1064ed81f",
      "parents": [
        "ca3835e9b4d629831001fbf7f466f36e11cfbc0c"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zevdg@google.com",
        "time": "Tue Jul 12 16:28:29 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 12 16:28:29 2022"
      },
      "message": "run gofmt with go1.19 release candidate (#282)\n\n"
    },
    {
      "commit": "ca3835e9b4d629831001fbf7f466f36e11cfbc0c",
      "tree": "e1c5c4dd664006bbff8cceb9a168341ada0ec367",
      "parents": [
        "da036ec7cbbfdb52b74f804298fe0c25531707d6"
      ],
      "author": {
        "name": "Benny Siegert",
        "email": "bsiegert@gmail.com",
        "time": "Mon Apr 04 17:04:24 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 04 17:04:24 2022"
      },
      "message": "Fix golang/appengine CI (#280)\n\nWith google-github-actions/setup-gcloud#539, they broke Github workflows\r\nspecifying the \"master\" branch ahead of the rename of the branch to\r\n\u0027main\u0027."
    },
    {
      "commit": "da036ec7cbbfdb52b74f804298fe0c25531707d6",
      "tree": "247880aba15b29db165b801eb866ed3a69f3945c",
      "parents": [
        "e0054249252f2a095b5f75c417b41d7cef9cbd10"
      ],
      "author": {
        "name": "Kayla Nguyen",
        "email": "kaylanguyen@google.com",
        "time": "Wed Jan 05 21:43:07 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 05 21:43:07 2022"
      },
      "message": "refactor: pin setup-gcloud gh action to v0 (#274)\n\n"
    },
    {
      "commit": "e0054249252f2a095b5f75c417b41d7cef9cbd10",
      "tree": "3201d45c42692ac747e84fc588ef50fdabded9cc",
      "parents": [
        "5a029e65e8da16139d0bfee5faa9499ed86a7ea0"
      ],
      "author": {
        "name": "pokutuna",
        "email": "mail@pokutuna.com",
        "time": "Thu Dec 30 22:23:14 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 30 22:23:14 2021"
      },
      "message": "Fix header name to associate log entry \u0026 trace (#263)\n\n"
    },
    {
      "commit": "5a029e65e8da16139d0bfee5faa9499ed86a7ea0",
      "tree": "061c72d366c15119c35ea20014cc9e75221d0c1e",
      "parents": [
        "bbd66e8159e97995f0208ed56b90b6c7598fb8de"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zevdg@google.com",
        "time": "Thu Dec 30 22:17:35 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 30 22:17:35 2021"
      },
      "message": "switch default logStream from stdout to stderr (#272)\n\n"
    },
    {
      "commit": "bbd66e8159e97995f0208ed56b90b6c7598fb8de",
      "tree": "c826855f302b7b9c01651eb27e7171138a3b98a0",
      "parents": [
        "ab4e2d305cf26ae7721eabf654d8f74e0dc7dfe6"
      ],
      "author": {
        "name": "Lukas Berger",
        "email": "bergerl@google.com",
        "time": "Wed Dec 29 22:22:07 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 29 22:22:07 2021"
      },
      "message": "Add Go 1.16 to tested Go versions (#255)\n\n"
    },
    {
      "commit": "ab4e2d305cf26ae7721eabf654d8f74e0dc7dfe6",
      "tree": "075ba6f873df5aecd8e8ec3d62b7da39ee726760",
      "parents": [
        "6d50fa847719498e759db6d80533dde0284307b3"
      ],
      "author": {
        "name": "Kayla Nguyen",
        "email": "kaylanguyen@google.com",
        "time": "Fri Nov 05 20:23:42 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 05 20:23:42 2021"
      },
      "message": "Let users specify unique function keys using delay.MustRegister (#268)\n\n"
    },
    {
      "commit": "6d50fa847719498e759db6d80533dde0284307b3",
      "tree": "c8546238afc73192eecfb8d4fd1f013620fe6b88",
      "parents": [
        "cefb82f5c0d07e58f3118ee31abdb05785dc5045"
      ],
      "author": {
        "name": "Kayla Nguyen",
        "email": "kaylanguyen@google.com",
        "time": "Wed Oct 27 20:14:45 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 27 20:14:45 2021"
      },
      "message": "Update backgroundcontext comment (#267)\n\n"
    },
    {
      "commit": "cefb82f5c0d07e58f3118ee31abdb05785dc5045",
      "tree": "0f5ca5bd88770d018a9fab29c8b145aecf1ce554",
      "parents": [
        "d0e56bde7a62db35606153693d3822c5471182b6"
      ],
      "author": {
        "name": "Kayla Nguyen",
        "email": "kaylanguyen@google.com",
        "time": "Fri Aug 13 23:25:29 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 13 23:25:29 2021"
      },
      "message": "Run ci workflow on v2/. (#260)\n\n* Enable aetest tests\r\n* Fix v2/aefix to work with appengine/v2\r\n* Update Contributing docs"
    },
    {
      "commit": "d0e56bde7a62db35606153693d3822c5471182b6",
      "tree": "21736d271359fe5e597038ae7100379af55f599e",
      "parents": [
        "2042caf8346afcd4fedb76fd2cb196899d2c7482"
      ],
      "author": {
        "name": "Kayla Nguyen",
        "email": "kaylanguyen@google.com",
        "time": "Thu Jul 22 01:37:41 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 22 01:37:41 2021"
      },
      "message": "Migrate travis ci to Github actions. (#253)\n\n* Run CI tests against go 1.11 to 1.15 \r\n\r\n* Run gopath test for go 1.11 and go 1.12\r\n\r\n* Update README with CI status"
    },
    {
      "commit": "2042caf8346afcd4fedb76fd2cb196899d2c7482",
      "tree": "badbc9062514d0e20021b8e306493c07f5cf5b04",
      "parents": [
        "856ef3e566899d9d74140c595bdf4791a1cbdc46"
      ],
      "author": {
        "name": "Lukas Berger",
        "email": "berger.lukas@gmail.com",
        "time": "Wed Jul 07 19:59:11 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 07 19:59:11 2021"
      },
      "message": "Fix documented default deadline in urlfetch client (#249)\n\n"
    },
    {
      "commit": "856ef3e566899d9d74140c595bdf4791a1cbdc46",
      "tree": "ee34bc2cbef813dc7798fba9e4a4de3b2bcf4ada",
      "parents": [
        "8f83b32138b320ceb36c280a0bffe668059098d2"
      ],
      "author": {
        "name": "joelgerard",
        "email": "joelgerard@users.noreply.github.com",
        "time": "Tue Jun 15 17:57:49 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 15 17:57:49 2021"
      },
      "message": "Merge QA into the main branch (#247)\n\n* Removing old, unsupported APIs (#230)\r\n\r\n* Remove the old Search API.\r\n\r\n* Remove the old Remote API.\r\n\r\n* Remove the old sockets API.\r\n\r\n* Delete legacy appengine code (#231)\r\n\r\n- Delete all files behind `+build appengine`\r\n- Merge the `*_vm.go` variants with the base files\r\n- `go fix` for context update (TODO: Fix internal/api.go\u0027s use of context)\r\n- Update travis config to test new versions\r\n\r\n* Remove Query APIs from appengine.log (#233)\r\n\r\nRemove deprecated log.Query api from appengine.log\r\n\r\n* Update docs (#234)\r\n\r\n* Remove the old Search API.\r\n\r\n* Remove the old Remote API.\r\n\r\n* Remove the old sockets API.\r\n\r\n* Temporarily remove blobstore API for v2 preview.\r\n\r\n* Revert \"Temporarily remove blobstore API for v2 preview.\"\r\n\r\nThis reverts commit 169bbdd4674a0fc862fd6a12a843eb2b3bba01cd.\r\n\r\n* Update docs for QA.\r\n\r\n* Update module API docs to indicate manual_scaling must be used for NumInstances, etc.\r\n\r\n* Update module API docs to indicate manual_scaling must be used for NumInstances, etc.\r\n\r\n* Remove old interfaces and interfaces that are not recommended (#236)\r\n\r\n* Remove the old deprecated channel interface.\r\n\r\n* Remove the old deprecated file interface.\r\n\r\n* Remove the old deprecated xmpp interface.\r\n\r\n* Removing the cloudsql interface, which is not recommended.\r\n\r\n* Removing the aebundler interface, which has been deprecated for some time.\r\n\r\n* Remove obsolete demo code (#238)\r\n\r\n* Remove obsolete demo code. Official appengine sample code referred by doc is in https://github.com/GoogleCloudPlatform/golang-samples\r\n\r\n* Replace Logs API with Stdout (#240)\r\n\r\n* Removed Logs API.\r\n\r\n* Remove dead code.\r\n\r\n* Added JSON encoding tests.\r\n\r\n* Emit single character severity in JSON message to trigger structured logs handling.\r\n\r\n* Prevent timestamp from being emitted on deployed logs.\r\n\r\n* Remove superfluous apis (#241)\r\n\r\n* Removed protos for channel/search/xmpp.\r\n\r\n* Remove protos for socket.\r\n\r\n* Add traceID/spanID to structured logs and chunk long logs (#242)\r\n\r\n* Moved logging related logic to separate file.\r\n\r\n* Added traceID/spanID to structured logs and log chunking.\r\n\r\n* Changes from code review.\r\n\r\n* Update go.mod for v2\r\n\r\n* Revert v2 in the base directory.\r\n\r\n* Create the v2 in /v2 and revert the base directory back to 1.6.7 (#243)\r\n\r\n* Create a v2 directory for v2+ releases.\r\n\r\n* Update AppEngine imports to v2.\r\n\r\n* Update AppEngine imports to v2.\r\n\r\n* Clean up travis. We only currently support go 1.11+\r\n\r\n* Temporarily disable testing go111+ with gopath until we can tag v2 properly.\r\n\r\n* Tidy v2/go.mod (#244)\r\n\r\n* Create a v2 directory for v2+ releases.\r\n\r\n* Update AppEngine imports to v2.\r\n\r\n* Update AppEngine imports to v2.\r\n\r\n* Clean up travis. We only currently support go 1.11+\r\n\r\n* Temporarily disable testing go111+ with gopath until we can tag v2 properly.\r\n\r\n* Tidy go.sum\r\n\r\n* go mod tidy (#245)\r\n\r\n* Create a v2 directory for v2+ releases.\r\n\r\n* Update AppEngine imports to v2.\r\n\r\n* Update AppEngine imports to v2.\r\n\r\n* Clean up travis. We only currently support go 1.11+\r\n\r\n* Temporarily disable testing go111+ with gopath until we can tag v2 properly.\r\n\r\n* Tidy go.sum\r\n\r\n* go mod tidy\r\n\r\nCo-authored-by: Steven Buss \u003csbuss@google.com\u003e\r\nCo-authored-by: Kayla Nguyen \u003ckaylanguyen@google.com\u003e\r\nCo-authored-by: Jason Collins \u003cjason.a.collins@gmail.com\u003e"
    },
    {
      "commit": "8f83b32138b320ceb36c280a0bffe668059098d2",
      "tree": "1932c41c1e68ba75bd4483746abc0884184e55a3",
      "parents": [
        "b48684e5a80c19f7fd76d297d25e97b6554fb77a"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zev.goldstein@gmail.com",
        "time": "Wed Mar 31 17:19:40 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 31 17:19:40 2021"
      },
      "message": "[internal] Expose internal.handleHTTP as a standard http middleware (#235)\n\nThe existing `appengine.Main()` function doesn\u0027t allow for any customization such as using an alternate webserver, or even just configuring `net/http`. Exposing its core functionality as a standard HTTP middleware gives the user much significantly more control and composability."
    },
    {
      "commit": "b48684e5a80c19f7fd76d297d25e97b6554fb77a",
      "tree": "c35e5684de385d530d45eb8272bd359c81adb8d9",
      "parents": [
        "07f9b0860d07263881919c961b8fee252708e1f7"
      ],
      "author": {
        "name": "Justin Bishop",
        "email": "jubishop@gmail.com",
        "time": "Thu Feb 25 00:02:10 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 25 00:02:10 2021"
      },
      "message": "[atest] Specify path to dev_appserver datastore file via APPENGINE_DEV_APPSERVER_DATASTORE_PATH (#232)\n\nIf the environment variable `APPENGINE_DEV_APPSERVER_DATASTORE_PATH` is set, use it as the path to the dev_appserver datastore file, rather than the default of `filepath.Join(i.appDir, \"datastore\")`"
    },
    {
      "commit": "07f9b0860d07263881919c961b8fee252708e1f7",
      "tree": "ccdd6c2a7f4ef00793a69c31c5e0b066230712ea",
      "parents": [
        "5d1c1d03f8703c2e81478d9a30e9afa2d3e4bd8a"
      ],
      "author": {
        "name": "Zev Goldstein",
        "email": "zev.goldstein@gmail.com",
        "time": "Tue Dec 08 19:34:14 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 08 19:34:14 2020"
      },
      "message": "[internal] Add LOG_TO_LOGSERVICE env var to disable logservice (#229)\n\nSet env var LOG_TO_LOGSERVICE\u003d0 to prevent sending logs to the App Engine logservice.\r\n\r\nThe longer term goal is to remove all of the code behind this flag and replace it with structured json logs. The gen2 runtimes watch /var/log for structured logfiles and forwards their records to stackdriver."
    },
    {
      "commit": "5d1c1d03f8703c2e81478d9a30e9afa2d3e4bd8a",
      "tree": "edbaa91d0ca7241e11ac112356a34b4b04cd54ea",
      "parents": [
        "2bbb383b9ff4d9bf16933c4296ac97be6816acb0"
      ],
      "author": {
        "name": "Justin Bishop",
        "email": "jubishop@gmail.com",
        "time": "Tue Oct 13 00:46:28 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 13 00:46:28 2020"
      },
      "message": "[aetest] Allow specifying path to dev_appserver binary (#226)\n\nIf the environment variable `APPENGINE_DEV_APPSERVER_BINARY` is set, use it as the path to a dev_appserver binary, rather than the default of `python /path/to/dev_appserver.py`"
    },
    {
      "commit": "2bbb383b9ff4d9bf16933c4296ac97be6816acb0",
      "tree": "ec516726e19161c4d59de679c692ec138c70963c",
      "parents": [
        "553959209a20f3be281c16dd5be5c740a893978f"
      ],
      "author": {
        "name": "Aurken",
        "email": "aurken@pm.me",
        "time": "Mon Sep 28 20:02:59 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 28 20:02:59 2020"
      },
      "message": "all: fixed minor typos (#225)\n\n* datastore: fixed minor typos\r\n\r\n* taskqueue: fixed minor typos"
    },
    {
      "commit": "553959209a20f3be281c16dd5be5c740a893978f",
      "tree": "710b4f7e73c7a615acb9715de27978de035def31",
      "parents": [
        "b6ce0843b556e44e6416df5c2fd05db0869cc8d4"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "sbuss@google.com",
        "time": "Wed Apr 22 17:14:01 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 22 17:14:01 2020"
      },
      "message": "[aetest] Fix Federated-Identity headers (#224)\n\n* Fix Federated-Identity headers\r\n* Use user.FederatedIdentity instead of user.Email\r\n* Fix out-of-range test\r\n* Remove go1.8 tests"
    },
    {
      "commit": "b6ce0843b556e44e6416df5c2fd05db0869cc8d4",
      "tree": "c593772945f065f04d965d7518227730e432edac",
      "parents": [
        "16bce7d3dc4e458f2f6f56a1349cbbfcdc8a8fdf"
      ],
      "author": {
        "name": "Julie Hockett",
        "email": "11913400+juliehockett@users.noreply.github.com",
        "time": "Thu Dec 19 23:03:19 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 19 23:03:19 2019"
      },
      "message": "[internal] Optimize HTTP transport params (#222)\n\nSince these calls are all made to the same host, persisting connections\r\nand specifying the timeouts yields performance and throughput improvements."
    },
    {
      "commit": "16bce7d3dc4e458f2f6f56a1349cbbfcdc8a8fdf",
      "tree": "3b7e71b7c2fa295c101318d322d030bcd32ef810",
      "parents": [
        "9e26d07459185b2b6983fdc9894d75055a499ecc"
      ],
      "author": {
        "name": "Julie Hockett",
        "email": "11913400+juliehockett@users.noreply.github.com",
        "time": "Wed Oct 16 20:46:03 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 16 20:46:03 2019"
      },
      "message": "Revert \"Remove support for 1.10 and earlier (#217)\" (#218)\n\nThis reverts commit 9e26d07459185b2b6983fdc9894d75055a499ecc. Breaks tests downstream, will reland once we\u0027ve migrated those affected (likely O(weeks) time)."
    },
    {
      "commit": "9e26d07459185b2b6983fdc9894d75055a499ecc",
      "tree": "7733cbb21f4ebfdbe7208b17d1a1362e4d42156f",
      "parents": [
        "971852bfffca25b069c31162ae8f247a3dba083b"
      ],
      "author": {
        "name": "Julie Hockett",
        "email": "11913400+juliehockett@users.noreply.github.com",
        "time": "Tue Oct 15 22:05:37 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 15 22:05:37 2019"
      },
      "message": "Remove support for 1.10 and earlier (#217)\n\nAlso removes all files with the appengine build tag, as this is no\r\nlonger supported."
    },
    {
      "commit": "971852bfffca25b069c31162ae8f247a3dba083b",
      "tree": "3b7e71b7c2fa295c101318d322d030bcd32ef810",
      "parents": [
        "c0ffc1e403a9fb009a4bd5a268ce0ab94a4b51f4"
      ],
      "author": {
        "name": "178inaba",
        "email": "masahiro.furudate@gmail.com",
        "time": "Mon Oct 07 22:26:40 2019"
      },
      "committer": {
        "name": "Julie Hockett",
        "email": "11913400+juliehockett@users.noreply.github.com",
        "time": "Mon Oct 07 22:26:40 2019"
      },
      "message": "Add go version to go.mod and run `go mod tidy` (#215)\n\n"
    },
    {
      "commit": "c0ffc1e403a9fb009a4bd5a268ce0ab94a4b51f4",
      "tree": "b853760a752cbcb38cc5d97ae149b34ca4972b94",
      "parents": [
        "bddb1f54ecfd64b1350fd2dd897fa11d426632bc"
      ],
      "author": {
        "name": "178inaba",
        "email": "masahiro.furudate@gmail.com",
        "time": "Mon Oct 07 22:25:43 2019"
      },
      "committer": {
        "name": "Julie Hockett",
        "email": "11913400+juliehockett@users.noreply.github.com",
        "time": "Mon Oct 07 22:25:43 2019"
      },
      "message": "aetest: appYAMLTemplate should use runtime: go111 (#214)\n\n* Fix runtime to appYAMLTemplate\r\n\r\n* Remove api_version to appYAMLTemplate\r\n"
    },
    {
      "commit": "bddb1f54ecfd64b1350fd2dd897fa11d426632bc",
      "tree": "22d5289d34b3f584f81fbfc709b5bee606d44f7a",
      "parents": [
        "c71d63e301d75423acb410203c747cad31e9a5e7"
      ],
      "author": {
        "name": "bashtian",
        "email": "bashtian86@gmail.com",
        "time": "Thu Sep 26 21:58:30 2019"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "sbuss@google.com",
        "time": "Thu Sep 26 21:58:30 2019"
      },
      "message": "delay: fix func stable name to strip gopath prefix (#211)\n\n"
    },
    {
      "commit": "c71d63e301d75423acb410203c747cad31e9a5e7",
      "tree": "f5ee7801bca4483cd8bdf5a7301de683c263d5f0",
      "parents": [
        "5f2a59506353b8d5ba8cbbcd9f3c1f41f1eaf079"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "sbuss@google.com",
        "time": "Thu Sep 19 21:55:17 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 19 21:55:17 2019"
      },
      "message": "internal: Increase limitDial timeout from 500ms to 10s (#210)\n\nIncrease internal.limitDial\u0027s timeout from 500ms to 10s, to account for differences in the go111 legacy API endpoint."
    },
    {
      "commit": "5f2a59506353b8d5ba8cbbcd9f3c1f41f1eaf079",
      "tree": "376a9ec806e6a576fb6df9d92ade861e44b68a3b",
      "parents": [
        "fb139bde60fa77cede04f226b4d5a3cf68dcce27"
      ],
      "author": {
        "name": "Julie Hockett",
        "email": "11913400+juliehockett@users.noreply.github.com",
        "time": "Wed Aug 28 20:17:10 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 28 20:17:10 2019"
      },
      "message": "aetest: Redirect stderr to be visible to the user (#208)\n\nPreviously, all stderr after the admin/API server lines was lost as the\r\nStderrPipe continued to consume it without redirecting once the scanner\r\nwent out of scope. It also had the side effect of hanging a program in\r\nwhich the devserver emitted too much data to stderr, since the pipe\r\nwould block once it reached cap.\r\n\r\nThis replaces the TeeReader (which would go out of scope before stderr\r\nwas done) by printing the output while processing and copying it once\r\nprocessing finishes."
    },
    {
      "commit": "fb139bde60fa77cede04f226b4d5a3cf68dcce27",
      "tree": "71888ac088c6dce794db62fd3b5c44442d7b3e39",
      "parents": [
        "b2f4a3cf3c67576a2ee09e1fe62656a5086ce880"
      ],
      "author": {
        "name": "Arjun Srinivasan",
        "email": "asr@alum.mit.edu",
        "time": "Thu Aug 01 18:14:06 2019"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "sbuss@google.com",
        "time": "Thu Aug 01 18:14:06 2019"
      },
      "message": "capability: Simplify the API to remove unnecessary RPC calls (#206)\n\nThe capabilities API is deprecated for all but the datastore_v3.write calls. Every other call always returns true because the APIs are always enabled. Don\u0027t make RPC calls when we know the answer already."
    },
    {
      "commit": "b2f4a3cf3c67576a2ee09e1fe62656a5086ce880",
      "tree": "a97529f7a330f5e243bc140776e8abc6ea422687",
      "parents": [
        "51f6a67fe9a6ee7c0ee6b61f6ca23d33f054c21b"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "sbuss@google.com",
        "time": "Thu Jun 06 17:30:15 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 06 17:30:15 2019"
      },
      "message": "go.mod: Update github.com/golang/protobuf to v1.3.1 (#204)\n\nFixes #194"
    },
    {
      "commit": "51f6a67fe9a6ee7c0ee6b61f6ca23d33f054c21b",
      "tree": "e888706ce9358689b6afaecabcd3f09542a1bbcd",
      "parents": [
        "de285f9b71d302e953472c27f2152dfe8fac5195"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "sbuss@google.com",
        "time": "Thu Jun 06 17:16:55 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 06 17:16:55 2019"
      },
      "message": "go.mod: Update golang.org/x/net to latest version (#205)\n\n"
    },
    {
      "commit": "de285f9b71d302e953472c27f2152dfe8fac5195",
      "tree": "c9df1bca8d69d59e1cf793e7f41d0232141bf327",
      "parents": [
        "311d3c5cf9373249645db030e53c37c209a8b378"
      ],
      "author": {
        "name": "Martin Taillefer",
        "email": "geeknoid@users.noreply.github.com",
        "time": "Mon Jun 03 19:23:20 2019"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Mon Jun 03 19:23:20 2019"
      },
      "message": "file: Fix error message for DefaultBucketName failures (#201)\n\n"
    },
    {
      "commit": "311d3c5cf9373249645db030e53c37c209a8b378",
      "tree": "02591f2781679d685591cbca6ca0cf0aca41d09a",
      "parents": [
        "4c25cacc810c02874000e4f7071286a8e96b2515"
      ],
      "author": {
        "name": "Michael Traver",
        "email": "mtraver@users.noreply.github.com",
        "time": "Wed May 15 04:47:07 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 15 04:47:07 2019"
      },
      "message": "Change /_ah/startup to /_ah/start in README (#203)\n\nThe correct path for the App Engine start handler is /_ah/start."
    },
    {
      "commit": "4c25cacc810c02874000e4f7071286a8e96b2515",
      "tree": "3303e32e3d125488b1ba9dac41f239512b7e8dce",
      "parents": [
        "54a98f90d1c46b7731eb8fb305d2a321c30ef610"
      ],
      "author": {
        "name": "goog-lukemc",
        "email": "37878988+goog-lukemc@users.noreply.github.com",
        "time": "Tue May 14 17:23:40 2019"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue May 14 17:23:40 2019"
      },
      "message": "datastore: add EnableKeyConversion for compatibility with Cloud Datastore encoded keys (#192)\n\nAdds compatibility with encoded keys generated by the Cloud Datastore package\u0027s (cloud.google.com/go/datastore) Key.Encode function.\r\n\r\nThis package, and the Cloud Datastore package, both use b64-encoded protobufs as the key encoding format, however the protobufs are different, so care must be taken to try and decode to/from both proto formats.\r\n\r\nCo-authored-by: Luke \u003clukemc@google.com\u003e\r\nCo-authored-by: Chris Broadfoot \u003ccbro@golang.org\u003e"
    },
    {
      "commit": "54a98f90d1c46b7731eb8fb305d2a321c30ef610",
      "tree": "593f07dd0a9ec14dd167020f0e7f757c8e2b18c1",
      "parents": [
        "99bc4335fe23898c0a61f5b35afabb6d11f29094"
      ],
      "author": {
        "name": "Eddie Scholtz",
        "email": "eascholtz@gmail.com",
        "time": "Fri Feb 15 20:43:44 2019"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Fri Feb 15 20:43:44 2019"
      },
      "message": "Remove TODO that has been implemented. (#193)\n\ninternal.Call is exposed by the APICall method."
    },
    {
      "commit": "99bc4335fe23898c0a61f5b35afabb6d11f29094",
      "tree": "3ba9831a57c02a7673a48c59a397ca6b8c6665e1",
      "parents": [
        "2d2298565d5a399bdfec98dbc259d6393e3cf8ba"
      ],
      "author": {
        "name": "bashtian",
        "email": "bashtian86@gmail.com",
        "time": "Fri Feb 08 18:47:32 2019"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Fri Feb 08 18:47:32 2019"
      },
      "message": "datastore: adds DistinctOn support (#189)\n\nThis is a port of the change in the Cloud Datastore package https://github.com/googleapis/google-cloud-go/commit/a370663b6dbaadb2ba5d7737f0b0471a0b41032e"
    },
    {
      "commit": "2d2298565d5a399bdfec98dbc259d6393e3cf8ba",
      "tree": "a5e887805233ae6546a970997f872b83ad95447d",
      "parents": [
        "e9657d882bb81064595ca3b56cbe2546bbabf7b1"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Fri Feb 01 18:56:05 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 01 18:56:05 2019"
      },
      "message": "internal: Respect X-Appengine-Dev-Request-Id header (#191)\n\nThis adds support for RunInBackground with dev_appserver.py by ensuring that the request ID is correctly associated with the request."
    },
    {
      "commit": "e9657d882bb81064595ca3b56cbe2546bbabf7b1",
      "tree": "06d5fc655717513109d33242d06b7fab58b0ee78",
      "parents": [
        "a37df1387b4521194676d88c79230c613610d5f4"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Mon Dec 17 20:59:03 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 17 20:59:03 2018"
      },
      "message": "Add support for stable Func keys in App Engine second gen (#184)\n\nFunc keys include the filename where the Func is created. The filename is parsed according to these rules:\r\n\r\n* Paths in package main are shortened to just the file name (github.com/foo/foo.go -\u003e foo.go)\r\n* Paths are stripped to just package paths (/go/src/github.com/foo/bar.go -\u003e github.com/foo/bar.go)\r\n* Module versions are stripped (/go/pkg/mod/github.com/foo/bar@v0.0.0-20181026220418-f595d03440dc/baz.go -\u003e github.com/foo/bar/baz.go)"
    },
    {
      "commit": "a37df1387b4521194676d88c79230c613610d5f4",
      "tree": "168d6d1bb01499a9e600c099b90a5f5156586f52",
      "parents": [
        "b80b43b755358899234a9be264734f78f9bc1478"
      ],
      "author": {
        "name": "Masahiro Wakame",
        "email": "vvakame+dev@gmail.com",
        "time": "Mon Dec 03 16:37:10 2018"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Mon Dec 03 16:37:10 2018"
      },
      "message": "add SupportDatastoreEmulator field to aetest Options (#173)\n\nPass through --support_datastore_emulator. https://issuetracker.google.com/issues/119212211"
    },
    {
      "commit": "b80b43b755358899234a9be264734f78f9bc1478",
      "tree": "3b8fdbf2388ff651db4baa1092a3223b6cbf3c58",
      "parents": [
        "4a4468ece617fc8205e99368fa2200e9d1fad421"
      ],
      "author": {
        "name": "apstndb",
        "email": "gamaguchi@gmail.com",
        "time": "Mon Dec 03 16:33:34 2018"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Mon Dec 03 16:33:34 2018"
      },
      "message": "log: don\u0027t mirror log to stderr on 2nd gen (#177)\n\nOnly duplicate log to stderr if not running on App Engine second generation"
    },
    {
      "commit": "4a4468ece617fc8205e99368fa2200e9d1fad421",
      "tree": "9b9964992bb0597164f68c7abee0cf01606d560b",
      "parents": [
        "80663353cf07ea09bdc45f5cddbb05f93bf16433"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Wed Oct 31 00:20:03 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 31 00:20:03 2018"
      },
      "message": "Ensure at least one log flush happens before request ends (#164)\n\nForce a log flush before the connection closes. Fixes #163"
    },
    {
      "commit": "80663353cf07ea09bdc45f5cddbb05f93bf16433",
      "tree": "3d830cfae6f5184156176d221e5a618d4d3c6b62",
      "parents": [
        "b2f5f02ae6cc9741322d2335f6dcc88692fd8c96"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Mon Oct 29 22:34:14 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 29 22:34:14 2018"
      },
      "message": "Drop pre 18 (#165)\n\nDrop support for Go \u003c 1.9"
    },
    {
      "commit": "b2f5f02ae6cc9741322d2335f6dcc88692fd8c96",
      "tree": "303f8f0b735cdec64e4858159f7988ac433b0651",
      "parents": [
        "ae0ab99deb4dc413a2b4bd6c8bdd0eb67f1e4d06"
      ],
      "author": {
        "name": "Michael Traver",
        "email": "mtraver@users.noreply.github.com",
        "time": "Mon Oct 29 22:16:05 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 29 22:16:05 2018"
      },
      "message": "Add functions that check which environment the app is running in (#170)\n\nThis is motivated by the fact that second-generation runtimes\r\n(\u003e\u003d Go 1.11) do not set the appengine build tag, so the build tag alone\r\nis not sufficient to determine whether an app is running in the standard\r\nenvironment. We can check for a second-gen runtime with $GAE_ENV.\r\nThe new functions centralize this logic so other packages don\u0027t have to\r\nworry about the build tags and env vars.\r\n\r\nAdded:\r\n- IsStandard reports whether the App Engine app is running in the\r\n  standard environment. This includes both the first generation\r\n  runtimes (\u003c\u003d Go 1.9) and the second generation runtimes (\u003e\u003d Go 1.11).\r\n- IsFlex reports whether the App Engine app is running in the flexible\r\n  environment.\r\n- IsAppEngine reports whether the App Engine app is running on App\r\n  Engine, in either the standard or flexible environment.\r\n\r\nTest: Deployed an app to go1/go1.8, go1/go1.9, go111, and flex. The app\r\n      prints out the return val of each of the new functions. Verified\r\n      correctness."
    },
    {
      "commit": "ae0ab99deb4dc413a2b4bd6c8bdd0eb67f1e4d06",
      "tree": "d029419085fa06de7218f52ff32cd6d1eb5a27ba",
      "parents": [
        "7c8091e2af5ee4221c09736f98200daf85cdd4fe"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Tue Sep 18 20:26:59 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 18 20:26:59 2018"
      },
      "message": "modules: Update github.com/golang/protobuf to v1.2.0 (#160)\n\n"
    },
    {
      "commit": "7c8091e2af5ee4221c09736f98200daf85cdd4fe",
      "tree": "663b7078336550bdabe6b1d31b45ba3bf9b5506d",
      "parents": [
        "03cac3b07182cfb08c0d0c0b6ee72a1ceb151c92"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Tue Sep 18 19:49:13 2018"
      },
      "committer": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Tue Sep 18 19:49:13 2018"
      },
      "message": "internal: update identity to support GAE second generation runtimes (#153)\n\n"
    },
    {
      "commit": "03cac3b07182cfb08c0d0c0b6ee72a1ceb151c92",
      "tree": "2246439201b68bf157a6753740eb7e80d3d0149a",
      "parents": [
        "4216e58b9158e5f1c906f1aca75162a46a2ec88a"
      ],
      "author": {
        "name": "Quinn Mueller",
        "email": "1271721+Smerom@users.noreply.github.com",
        "time": "Mon Aug 27 17:01:13 2018"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Mon Aug 27 17:01:13 2018"
      },
      "message": "[internal] Panic instead of log.Fatal when metadata fetch fails\n\n* Update metadata.go\r\nlog.Fatalf within a package is a pain to debug, replace with a panic"
    },
    {
      "commit": "4216e58b9158e5f1c906f1aca75162a46a2ec88a",
      "tree": "657db7ba3f19324f3472e69addf8d06423ad65f3",
      "parents": [
        "d1d14a4f7b9509a25ea8dc059e6820bbfb387beb"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Tue Jul 31 16:49:58 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 31 16:49:58 2018"
      },
      "message": "internal: regenerate protos (#144)\n\n* Regenerate the protos for the internal api"
    },
    {
      "commit": "d1d14a4f7b9509a25ea8dc059e6820bbfb387beb",
      "tree": "63f3df6193ab5350e4e64a342fb4ee710e26b4ef",
      "parents": [
        "b1f26356af11148e710935ed1ac8a7f5702c7612"
      ],
      "author": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Mon Jul 30 16:10:08 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 30 16:10:08 2018"
      },
      "message": "Add go.mod (#151)\n\n* Add go.mod and go.sum\r\n"
    },
    {
      "commit": "b1f26356af11148e710935ed1ac8a7f5702c7612",
      "tree": "db88ecf45ab4819db9bb0f02e82894a67362fac7",
      "parents": [
        "b9aad5d628b283f265adf8d3557faae187a8d015"
      ],
      "author": {
        "name": "Masahiro Wakame",
        "email": "vvakame+dev@gmail.com",
        "time": "Mon May 21 22:34:13 2018"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Mon May 21 22:34:13 2018"
      },
      "message": "datastore: fix behavior when ErrConcurrentTransaction occured (#139)\n\n"
    },
    {
      "commit": "b9aad5d628b283f265adf8d3557faae187a8d015",
      "tree": "630a58cd8680098474203151a6b331a642ce5780",
      "parents": [
        "962cbd1200af94a5a35ba8d512e9f91271b4d01a"
      ],
      "author": {
        "name": "JINNOUCHI Yasushi",
        "email": "delphinus@remora.cx",
        "time": "Wed May 16 22:56:43 2018"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Wed May 16 22:56:43 2018"
      },
      "message": "datastore: enable to set query batch size (#90)\n\n* datastore: enable to set query batch size\r\n\r\nThis adds q.BatchSize() method to avoid the error that claims too many\r\ndatastore.next() calls due to the lack of specifying the `count`\r\nproperty (\u003d batch size).\r\n\r\nFixes #88\r\n\r\n* Disallow negative values for BatchSize\r\n\r\n* Deal with negative value for t.limit\r\n\r\nand clean up to be more readable\r\n\r\n* Add comment about possible values for t.count\r\n\r\n* Use the same `if` block as in `Run()` for `count`\r\n\r\n* Make BatchSize restrict to be greater than zero\r\n"
    },
    {
      "commit": "962cbd1200af94a5a35ba8d512e9f91271b4d01a",
      "tree": "3f8c2fffc139b85a92cd01010dadede63afd53a3",
      "parents": [
        "0a24098c0ec68416ec050f567f75df563d6b231e"
      ],
      "author": {
        "name": "Alexander Trakhimenok",
        "email": "astec@users.noreply.github.com",
        "time": "Fri Apr 27 17:34:10 2018"
      },
      "committer": {
        "name": "Michael Traver",
        "email": "mtraver@users.noreply.github.com",
        "time": "Fri Apr 27 17:34:10 2018"
      },
      "message": "datastore: add omitempty support for time.Time (#131)\n\ntime.Time fields now support the omitempty tag. A zero time.Time will not be saved."
    },
    {
      "commit": "0a24098c0ec68416ec050f567f75df563d6b231e",
      "tree": "312fb7cdc525295b0fb3cae0906edda280519862",
      "parents": [
        "ad39d7fab7c60b2493fdc318c3d2cdb2128f92a4"
      ],
      "author": {
        "name": "Michael Traver",
        "email": "mtraver@users.noreply.github.com",
        "time": "Thu Apr 05 22:03:34 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 05 22:03:34 2018"
      },
      "message": "datastore: add AllocateIDRange (#130)\n\nAllows a range of IDs to be allocated, as is possible with the Python\r\nand Java appengine APIs. Note that because of the way the datastore\r\nbackend is implemented, a request to allocate ID range [x, y] is\r\nactually a request to allocate range [1, y]. This is consistent with\r\nthe behavior in Python and Java.\r\n\r\nTest: Because we don\u0027t have a mock datastore, no tests are added to\r\n      key_test.go (AllocateIDs is also not covered in key_test.go).\r\n      Instead, I made test apps in Go (using these changes) and Python\r\n      (using stock google.appengine.ext.db) and exercised each API\u0027s\r\n      ID range allocation implementation with the dev_appserver.py\r\n      datastore and the prod datastore. The Go implementation matches\r\n      Python\u0027s behavior.\r\n\r\nFixes #97"
    },
    {
      "commit": "ad39d7fab7c60b2493fdc318c3d2cdb2128f92a4",
      "tree": "5d8fd624653736b47a5684d93cb8ca791e8d5d62",
      "parents": [
        "138cbf02a83223cf40a1e4b7834cc0a732fb383b"
      ],
      "author": {
        "name": "Yuki Ito",
        "email": "mrno110y@gmail.com",
        "time": "Thu Mar 29 18:26:30 2018"
      },
      "committer": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Thu Mar 29 18:26:30 2018"
      },
      "message": "aetest: new option to suppress dev_appserver logs (#119)\n\n"
    },
    {
      "commit": "138cbf02a83223cf40a1e4b7834cc0a732fb383b",
      "tree": "3a8c3932940008cd14bafff3d2104a2d05e5e83c",
      "parents": [
        "b97816dfbd96fdde1121772cc0c3e91142e04d10"
      ],
      "author": {
        "name": "rock619",
        "email": "rock619@gmail.com",
        "time": "Wed Mar 28 21:30:08 2018"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Wed Mar 28 21:30:08 2018"
      },
      "message": "search: fix language code of Japanese (#103)\n\n"
    },
    {
      "commit": "b97816dfbd96fdde1121772cc0c3e91142e04d10",
      "tree": "68f7f2879815c3bd6cea3f493f72a81106963054",
      "parents": [
        "1956b43a8bbcb66421b5753e14b36ace04469126"
      ],
      "author": {
        "name": "Michael Traver",
        "email": "mtraver@users.noreply.github.com",
        "time": "Wed Mar 28 17:56:29 2018"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 28 17:56:29 2018"
      },
      "message": "blobstore: handle base64 encoding and non-UTF-8 charset (#129)\n\n* blobstore: handle base64 encoding and non-UTF-8 charset in ParseUpload\r\n* blobstore: add test for multiline base64 payload\r\n\r\nOriginal bug report is https://issuetracker.google.com/issues/35895570\r\n\r\nFixes #128"
    },
    {
      "commit": "1956b43a8bbcb66421b5753e14b36ace04469126",
      "tree": "8771528e9dd505bee8f0d890e8fbf702d433215d",
      "parents": [
        "540132eeda33c2b26cca331a6adfd50519cd29f7"
      ],
      "author": {
        "name": "Daniel Chia",
        "email": "danstryder@gmail.com",
        "time": "Wed Mar 28 17:00:18 2018"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Wed Mar 28 17:00:18 2018"
      },
      "message": "datastore: read-only transaction support, previous transaction tracking\n\n* Added read-only transaction support\r\n* Keep track of the previous transaction retrying"
    },
    {
      "commit": "540132eeda33c2b26cca331a6adfd50519cd29f7",
      "tree": "ff898d56ebf12e925852fa097cd52fba7541c9f2",
      "parents": [
        "5bee14b453b4c71be47ec1781b0fa61c2ea182db"
      ],
      "author": {
        "name": "Yuki Ito",
        "email": "mrno110y@gmail.com",
        "time": "Wed Mar 28 00:40:36 2018"
      },
      "committer": {
        "name": "Steven Buss",
        "email": "steven.buss@gmail.com",
        "time": "Wed Mar 28 00:40:36 2018"
      },
      "message": "datastore: fix doc typo in datastore/query.go (#105)\n\n"
    },
    {
      "commit": "5bee14b453b4c71be47ec1781b0fa61c2ea182db",
      "tree": "70486136fa5b8560aa9a568826270cb6a3e55f55",
      "parents": [
        "9d8544a6b2c7df9cff240fcf92d7b2f59bc13416"
      ],
      "author": {
        "name": "Chris Broadfoot",
        "email": "cbro@golang.org",
        "time": "Tue Dec 12 22:30:47 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 12 22:30:47 2017"
      },
      "message": "internal: for Flex, use req.Context instead of a context map (#107)\n\napi_pre17.go is a copy of the previous api.go, kept for backwards\r\ncompatibility.\r\n\r\nSome other clean-up, too, like using a sync.Once to initialize the background context."
    },
    {
      "commit": "9d8544a6b2c7df9cff240fcf92d7b2f59bc13416",
      "tree": "99f5817ee1f777403c2848c5da72e40add91d622",
      "parents": [
        "a2e0dc829727a4f957a7428b1f322805cfc1f362"
      ],
      "author": {
        "name": "Sarah Adams",
        "email": "sadams.codes@gmail.com",
        "time": "Tue Oct 31 19:43:29 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 31 19:43:29 2017"
      },
      "message": "travis.yml: test with 1.9, most recent minor vs (#100)\n\n"
    },
    {
      "commit": "a2e0dc829727a4f957a7428b1f322805cfc1f362",
      "tree": "77357c62d6451a4cc74e47bd796fb5b322f1f876",
      "parents": [
        "07f075729064fd38e1360517947f0f6e03500651"
      ],
      "author": {
        "name": "Ross Light",
        "email": "ross@zombiezen.com",
        "time": "Wed Oct 11 21:50:12 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 11 21:50:12 2017"
      },
      "message": "remote_api: don\u0027t modify http.Client parameter (#94)\n\nAvoids potential aliasing bugs when passing in something like\r\nhttp.DefaultClient."
    },
    {
      "commit": "07f075729064fd38e1360517947f0f6e03500651",
      "tree": "cb8812be474ab75922211f73c7885e991ccf1689",
      "parents": [
        "24e4144ec923c2374f6b06610c0df16a9222c3d9"
      ],
      "author": {
        "name": "Ross Light",
        "email": "ross@zombiezen.com",
        "time": "Tue Oct 10 22:31:10 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 10 22:31:10 2017"
      },
      "message": "delay: permit Context from either stdlib or golang.org/x/net (#95)\n\nGo 1.7 introduced the Context type into the standard library, but it is\r\nassignable to the golang.org/x/net variant.  The appengine libraries are\r\nwritten in terms of golang.org/x/net, which can interoperate with the\r\nstandard library type most of time, but because delay uses reflection,\r\nit depends directly on the exact type.\r\n\r\nThe test in this change only failed on Go 1.7 and Go 1.8 but not Go\r\n1.9, since after Go 1.9 the golang.org/x/net type became a type alias\r\nfor the standard library type."
    },
    {
      "commit": "24e4144ec923c2374f6b06610c0df16a9222c3d9",
      "tree": "fc54d3a38471d28a6fa0b9ae0779246dd8d5ca5f",
      "parents": [
        "d9a072cfa7b9736e44311ef77b3e09d804bfa599"
      ],
      "author": {
        "name": "Ross Light",
        "email": "ross@zombiezen.com",
        "time": "Thu Sep 21 17:06:48 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 17:06:48 2017"
      },
      "message": "remote_api: add long-lived Client type (#87)\n\nAllows for contexts to be created inside of a request instead of\r\nderiving from a single application-scoped context.\r\n\r\nFixes #86"
    },
    {
      "commit": "d9a072cfa7b9736e44311ef77b3e09d804bfa599",
      "tree": "0046f9b7c2180ddf35c79c4d96ec2dc6e31e97cb",
      "parents": [
        "c5a90ac045b779001847fec87403f5cba090deae"
      ],
      "author": {
        "name": "David Sansome",
        "email": "me@davidsansome.com",
        "time": "Mon Aug 14 19:09:42 2017"
      },
      "committer": {
        "name": "Sarah Adams",
        "email": "adams-sarah@users.noreply.github.com",
        "time": "Mon Aug 14 19:09:42 2017"
      },
      "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 18:31:37 2017"
      },
      "committer": {
        "name": "Sarah Adams",
        "email": "sadams.codes@gmail.com",
        "time": "Tue Aug 01 18:31:37 2017"
      },
      "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 20:33:49 2017"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 07 20:33:49 2017"
      },
      "message": "mail, search: update doc URLs (#81)\n\nThe docs added \"standard\" in their paths."
    }
  ],
  "next": "6f8a8d299d1aef52402b4523f12f9265037ce869"
}
