)]}'
{
  "log": [
    {
      "commit": "fadfc96def35ea95e7f2bd9952256d4db1d80d91",
      "tree": "4a16cb4cf52bc4e1a579caf740b115f20fdc858c",
      "parents": [
        "ffb3f39dd27ab05cb05c5316a078134e9e239da6"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Thu Mar 26 11:33:08 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 26 11:33:08 2026"
      },
      "message": "starlark: update dependencies and run go fix (#635)\n\n* starlark: update dependency versions (including go1.25)\n\nWe hereby relax the support policy to cover only two Go releases\n(go1.25 and go1.26) as it is impractical to support more:\nthe golang.org/x repos all require go1.25, and\nif any other dependency starts requiring go1.26 we would\nhave to avoid using it, which gets fiddly fast; fortunately\nwe have few dependencies.\n\n* starlark: go fix ./..."
    },
    {
      "commit": "ffb3f39dd27ab05cb05c5316a078134e9e239da6",
      "tree": "099564b44a2ec0a815774054afb3baa564bfe697",
      "parents": [
        "b62fd896b91b2cebc0cbefa1954e983e4c4531e1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@gmail.com",
        "time": "Tue Mar 24 13:33:13 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 24 13:33:13 2026"
      },
      "message": "Fix a typo in hashString() that caused poor hash distribution. (#634)\n\nWhen reducing the 64-bit hash returned by maphash.String() to the needed\n32-bit hash, a bitwise OR was used to combine the upper and lower halves\nof the 64-bit hash. This commit changes it to use a bitwise XOR instead,\nwhich should better preserve the uniform distribution of the hash\nvalues.\n\nFixes https://github.com/google/starlark-go/issues/633"
    },
    {
      "commit": "b62fd896b91b2cebc0cbefa1954e983e4c4531e1",
      "tree": "790792ecdc44a1edc556b6a3200f49bae25ff2f0",
      "parents": [
        "3fee463870c9e2f24e391952f5cf5e95463357b4"
      ],
      "author": {
        "name": "Dominic Mitchell",
        "email": "dom@happygiraffe.net",
        "time": "Tue Feb 10 14:37:00 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 10 14:37:00 2026"
      },
      "message": "starlark: apply the [modernize] tool. (#630)\n\n$ modernize -minmax\u003dfalse -fix ./...\n\n[modernize]: https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/modernize"
    },
    {
      "commit": "3fee463870c9e2f24e391952f5cf5e95463357b4",
      "tree": "d533b49fdcbe0c745c1eacfac67e53b8795a8d15",
      "parents": [
        "15019ee33dea8b618e081116e29a613c9aa050ea"
      ],
      "author": {
        "name": "Alexey Palazhchenko",
        "email": "alexey.palazhchenko@gmail.com",
        "time": "Fri Jan 02 03:07:33 2026"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 02 03:07:33 2026"
      },
      "message": "time: evict starklark (#627)\n\n"
    },
    {
      "commit": "15019ee33dea8b618e081116e29a613c9aa050ea",
      "tree": "2a3d74524b2f170a5fa1c3e60860ef7063a80c8f",
      "parents": [
        "be02852a5e1f2f07f08e887a191e725154c029b8"
      ],
      "author": {
        "name": "ΣX",
        "email": "gitctrlx@gmail.com",
        "time": "Mon Dec 22 18:45:26 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 22 18:45:26 2025"
      },
      "message": "Fix comment formatting in index.html (#626)\n\nSigned-off-by: ΣX \u003cgitctrlx@gmail.com\u003e"
    },
    {
      "commit": "be02852a5e1f2f07f08e887a191e725154c029b8",
      "tree": "ca0aba4bb53ed4543a86569f3ccc5ece736e8f63",
      "parents": [
        "7849196f18cf4dd77298ae77c1b42ad53225c348"
      ],
      "author": {
        "name": "Timothy Gu",
        "email": "timothyg@stripe.com",
        "time": "Sun Nov 09 18:30:26 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Nov 09 18:30:26 2025"
      },
      "message": "delete starlark/empty.s (#622)\n\n"
    },
    {
      "commit": "7849196f18cf4dd77298ae77c1b42ad53225c348",
      "tree": "2b8065c4c642741b23d02d39c9b637a420e2f2d4",
      "parents": [
        "a29b5b85e08ffd108094b228545b47b8452b71be"
      ],
      "author": {
        "name": "Alexandre Rostovtsev",
        "email": "arostovtsev@google.com",
        "time": "Wed Oct 29 21:17:36 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 29 21:17:36 2025"
      },
      "message": "Implement json.encode_indent (#615)\n\n* Implement json.encode_indent\n\nSee bazel.build/rules/lib/core/json#encode_indent\n\nFixes https://github.com/google/starlark-go/issues/614\n\n* Remove encodeInternal - it only interferes with error formatting\n\n* Fix doc string\n\n* Save an allocation"
    },
    {
      "commit": "a29b5b85e08ffd108094b228545b47b8452b71be",
      "tree": "c084bc7992ac40c60e0535393c6f08d7621560e4",
      "parents": [
        "a3406326250ebfa518d29a345467e404cc0db72c"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon Oct 27 16:59:43 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 27 16:59:43 2025"
      },
      "message": "Improve flag documentation (#620)\n\nThis change clarifies the documentation around flags, in particular\nthe -globalreassign flag which controls--conflates--three distinct\nFileOptions.\n\nAlso, tidy up various options for features that are now standard,\nsuch as -set.\n\nFixes google/starlark-go#618"
    },
    {
      "commit": "a3406326250ebfa518d29a345467e404cc0db72c",
      "tree": "4429d4d25ccc276b56cc1b3554c2d21d395a90c4",
      "parents": [
        "6d2315cd1916ff6bc9ab3d6b3415e29da31df64d"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon Oct 27 16:59:29 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 27 16:59:29 2025"
      },
      "message": "starlark: impose limit on Starlark recursion (#619)\n\nExceeding this limit should not crash the Go program.\n\nFixes google/starlark-go#617"
    },
    {
      "commit": "6d2315cd1916ff6bc9ab3d6b3415e29da31df64d",
      "tree": "421f8bd07b771585ebc4cefdc851187660a1940a",
      "parents": [
        "bf296ed553ea1715656054a7f64ac6a6dd161360"
      ],
      "author": {
        "name": "Timothy Gu",
        "email": "timothyg@stripe.com",
        "time": "Fri Oct 24 23:40:51 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 24 23:40:51 2025"
      },
      "message": "spec: fix typo (#616)\n\nSigned-off-by: Timothy Gu \u003ctimothyg@stripe.com\u003e"
    },
    {
      "commit": "bf296ed553ea1715656054a7f64ac6a6dd161360",
      "tree": "c63dc2dcea595151b70175f1c96b7a81de0379bc",
      "parents": [
        "a68d1868cff70c4f37abf2493189940e76fd608b"
      ],
      "author": {
        "name": "Bartek Pacia",
        "email": "barpac02@gmail.com",
        "time": "Sat Sep 06 16:02:40 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Sep 06 16:02:40 2025"
      },
      "message": "Fix typo in enumerate function documentation (#608)\n\nSigned-off-by: Bartek Pacia \u003cbarpac02@gmail.com\u003e"
    },
    {
      "commit": "a68d1868cff70c4f37abf2493189940e76fd608b",
      "tree": "ae3c0f902574a58d12a13f9e1f207128aa52e975",
      "parents": [
        "2a4f3694512960a6031a4c6d324439f1923fd8f9"
      ],
      "author": {
        "name": "Federico Tedin",
        "email": "federicotdn@users.noreply.github.com",
        "time": "Tue Sep 02 17:20:13 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 02 17:20:13 2025"
      },
      "message": "Update Iterator comment for correct usage (#603)\n\nSigned-off-by: Federico Tedin \u003cfedericotdn@users.noreply.github.com\u003e"
    },
    {
      "commit": "2a4f3694512960a6031a4c6d324439f1923fd8f9",
      "tree": "671536086cd5c6279aec1df070a7733a198f54a8",
      "parents": [
        "3c9dc17c5f2e062f7d7b8b4237e571810e9c6445"
      ],
      "author": {
        "name": "Bartek Pacia",
        "email": "barpac02@gmail.com",
        "time": "Tue Aug 26 21:29:36 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 26 21:29:36 2025"
      },
      "message": "fix typo (#602)\n\nSigned-off-by: Bartek Pacia \u003cbarpac02@gmail.com\u003e"
    },
    {
      "commit": "3c9dc17c5f2e062f7d7b8b4237e571810e9c6445",
      "tree": "6ec594f92aa3ca42b35b68b4bf07570deb76d859",
      "parents": [
        "336a4b3a6d1d23d37a9ac38a44af558c94c2f37a"
      ],
      "author": {
        "name": "Malte Isberner",
        "email": "2822367+misberner@users.noreply.github.com",
        "time": "Mon Aug 04 18:29:00 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 04 18:29:00 2025"
      },
      "message": "Support `while` statements in `syntax.Walk` (#601)\n\n* support While statements in syntax.Walk\n\n* revert debug change"
    },
    {
      "commit": "336a4b3a6d1d23d37a9ac38a44af558c94c2f37a",
      "tree": "10a7c41b59c2412ab01b243ebf84a517f40cd39b",
      "parents": [
        "d457b4515e0ec7aa889d395a3d5b60732e814e73"
      ],
      "author": {
        "name": "Bartek Pacia",
        "email": "barpac02@gmail.com",
        "time": "Thu Jul 17 19:16:51 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 17 19:16:51 2025"
      },
      "message": "[resolve] report invalid break/continue if inside nested function (#599)\n\n"
    },
    {
      "commit": "d457b4515e0ec7aa889d395a3d5b60732e814e73",
      "tree": "6361f44ecebf5ab0e0b87e1cd98dcf8ed3399965",
      "parents": [
        "8bf495bf4e9a6110b82436cdebbdc3f06ad4f474"
      ],
      "author": {
        "name": "Malte Isberner",
        "email": "2822367+misberner@users.noreply.github.com",
        "time": "Tue Jul 01 19:53:24 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 01 19:53:24 2025"
      },
      "message": "Add a MembershipCheckable interface and use that for the IN check. (#597)\n\n* Add a MembershipCheckable interface and use that for the IN check.\n\n* review feedback\n\n* add comment at beginning of file\n\n* Bool(found) for good measure\n\n* tab not space\n\n* simplify return\n\n* implement Has for String, Bytes, rangeValue"
    },
    {
      "commit": "8bf495bf4e9a6110b82436cdebbdc3f06ad4f474",
      "tree": "905a15564c1cb8fc17def8bb27d14655d1448e21",
      "parents": [
        "27fdb1d4744d057ceaa6c18d8eca9bf5692e3852"
      ],
      "author": {
        "name": "Timothy Gu",
        "email": "timothyg@stripe.com",
        "time": "Mon Jun 23 22:31:56 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 23 22:31:56 2025"
      },
      "message": "starlark: Add Module type (#595)\n\n* Add Function.Predeclared\n\n* make module\n\n* adonovan comments"
    },
    {
      "commit": "27fdb1d4744d057ceaa6c18d8eca9bf5692e3852",
      "tree": "86435a10fab1e1da69bb61164310a4aae9c2f9a7",
      "parents": [
        "c81913c6f2e285660920f604f6cc7fc9b7deccd8"
      ],
      "author": {
        "name": "Dominic Mitchell",
        "email": "dom@happygiraffe.net",
        "time": "Tue Jun 03 17:12:36 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 03 17:12:36 2025"
      },
      "message": "proto: add tests for extensions (#593)\n\nThis  encodes the existing behaviour.\nIt adds a fix to has()."
    },
    {
      "commit": "c81913c6f2e285660920f604f6cc7fc9b7deccd8",
      "tree": "04a4f991a0f99a2a52be93d5148cd57a5faf2e77",
      "parents": [
        "f57e51f710eb2662fb0866b2bfb87c218cecdc52"
      ],
      "author": {
        "name": "Malte Isberner",
        "email": "2822367+misberner@users.noreply.github.com",
        "time": "Fri May 30 21:07:32 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 30 21:07:32 2025"
      },
      "message": "Print token value for illegal tokens (#591)\n\n* print token value for illegal tokens\n\n* Revert \"print token value for illegal tokens\"\n\nThis reverts commit c47748fbcf2d7b002ce2f5e56b656152dc6dd716.\n\n* make illegal tokens explicit\n\n* feedback"
    },
    {
      "commit": "f57e51f710eb2662fb0866b2bfb87c218cecdc52",
      "tree": "8b210adafe7a768a98149edd41a5e11a1f4e75f5",
      "parents": [
        "d9371fef63fe912333a96a4e54ff72d071cb71ad"
      ],
      "author": {
        "name": "Malte Isberner",
        "email": "2822367+misberner@users.noreply.github.com",
        "time": "Thu Apr 17 14:37:17 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 17 14:37:17 2025"
      },
      "message": "Export UnpackOneArg (#588)\n\n* expose unpack one arg\n\n* comment tweaks"
    },
    {
      "commit": "d9371fef63fe912333a96a4e54ff72d071cb71ad",
      "tree": "11f5dfa160c08e1cb8c5207b29ad76d51ed0a002",
      "parents": [
        "4aef06a60409b865d0bbe401755fe268a1d79520"
      ],
      "author": {
        "name": "Dominic Mitchell",
        "email": "dom@happygiraffe.net",
        "time": "Tue Mar 18 22:39:01 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 18 22:39:01 2025"
      },
      "message": "proto: add support for map fields. (#581)\n\n* proto: add support for map fields\n\nOriginally PR#511.\n\n* proto: address comments from PR511\n\n* proto: address review comments"
    },
    {
      "commit": "4aef06a60409b865d0bbe401755fe268a1d79520",
      "tree": "c0edd776cc9db90837521a6e2e500163a6f9a74c",
      "parents": [
        "0d3f41d403af5d6607cdf241f12b7e0572f2cb58"
      ],
      "author": {
        "name": "Alexandre Rostovtsev",
        "email": "arostovtsev@google.com",
        "time": "Tue Mar 18 18:11:50 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 18 18:11:50 2025"
      },
      "message": "Never allow set.add() / set.discard() if set is frozen or being iterated (#585)\n\nMatch language spec: https://github.com/bazelbuild/starlark/blob/master/spec.md#set%C2%B7add\n\nWorking towards https://github.com/google/starlark-go/issues/584"
    },
    {
      "commit": "0d3f41d403af5d6607cdf241f12b7e0572f2cb58",
      "tree": "61d7a26256e47f0f6c194d1652a0b80924fa385a",
      "parents": [
        "a079b1f113da51a439427f62f21380bef60e67e4"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Tue Feb 25 19:02:31 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 25 19:02:31 2025"
      },
      "message": "README: trivial tweak to test branch protection rules (#579)\n\n"
    },
    {
      "commit": "a079b1f113da51a439427f62f21380bef60e67e4",
      "tree": "120a25c808aa88daac0b3bab44dd71ee60b81c8d",
      "parents": [
        "492d3672b3f4a001a9ad46d16bfdb1ad2f891912"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Tue Feb 25 15:01:08 2025"
      },
      "committer": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Tue Feb 25 15:01:08 2025"
      },
      "message": "Revert \"internal/compile: build index of local vars (#576)\"\n\nThis reverts commit 492d367, which caused spurious failures\nduring function calls. (The localsMap does not admit the\npossibility of duplicate names within a function body,\nwhich are indeed possible because of the scoping rules.\nIt could be redesigned to store only the parameter prefix\nof locals.)\n\nFixes #578\n"
    },
    {
      "commit": "492d3672b3f4a001a9ad46d16bfdb1ad2f891912",
      "tree": "0a6ef6152c95fae49b8f4b394dfcf37426d74709",
      "parents": [
        "d908c3ead437b065f862568adeab944b5d75a919"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Wed Feb 05 22:12:40 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 05 22:12:40 2025"
      },
      "message": "internal/compile: build index of local vars (#576)\n\nThis eliminates the linear scan over locals in the interpreter\r\nwhen processing named arguments. This reduces the new benchmark\r\nfrom 1081ns to 843ns (-22%).\r\n\r\n(This was inspired by recent work in the Java-based implementation,\r\nbut findParams seemed to be a bigger hit in that case, possibly\r\nbecause of the two extra levels of indirection involved in the\r\nlength comparison (hot path) of a Java array of Java strings,\r\nversus Go where they are all in the same cache line.)"
    },
    {
      "commit": "d908c3ead437b065f862568adeab944b5d75a919",
      "tree": "120a25c808aa88daac0b3bab44dd71ee60b81c8d",
      "parents": [
        "2fb1215d657f7c7de3c451fdbdb8c1bb8e1b1fba"
      ],
      "author": {
        "name": "Andrew Lindesay [Canva]",
        "email": "143454275+andponlin-canva@users.noreply.github.com",
        "time": "Tue Jan 28 21:21:04 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 28 21:21:04 2025"
      },
      "message": "correct set.union method (#574)\n\n* correct set.union method\r\n\r\nThe `union` function on `set` is inconsistent with the behaviour of\r\n`update` as it does not support multiple iterable positional arguments\r\nas is the case in the Bazel specification of the language. This PR\r\nwill align `starlark-go` with the Bazel spec.\r\n\r\nNote that the `set.union` method no longer uses the `Union` function\r\ndefined in `value.go` in order to avoid making a new `set` instance\r\nfor each interable processed.\r\n\r\n* correct set.union method\r\n\r\nFixes in PR from @adonovan.\r\n\r\n* correct set.union method\r\n\r\nfunction name change"
    },
    {
      "commit": "2fb1215d657f7c7de3c451fdbdb8c1bb8e1b1fba",
      "tree": "0eda46b72c04e14a6ef79397bf10990b6196ac2d",
      "parents": [
        "8dfa5b98479f2a537a9cd1289348fb6c2878bf41"
      ],
      "author": {
        "name": "Andrew Lindesay [Canva]",
        "email": "143454275+andponlin-canva@users.noreply.github.com",
        "time": "Mon Jan 27 22:43:20 2025"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 27 22:43:20 2025"
      },
      "message": "Implement set.update method (#573)\n\n* implement set.update method\r\n\r\nThe `update` method on the `set` is defined\r\nin the Starlark specification [1] but is not\r\npresent in the starlark-go implementation.\r\nThis change introduces this functionality.\r\n\r\n[1] https://github.com/bazelbuild/starlark/blob/master/spec.md#setupdate\r\n\r\n* implement set.update method\r\n\r\nFixes from @adonovan in PR\r\n\r\n* implement set.update method\r\n\r\nFixes #2 from @adonovan in PR\r\n\r\n* implement set.update method\r\n\r\nFixes #3 from @adonovan in PR"
    },
    {
      "commit": "8dfa5b98479f2a537a9cd1289348fb6c2878bf41",
      "tree": "bcb0c27133a32bc8870e926b55159a5656880e22",
      "parents": [
        "c05ff208a98f05d326de87fb6d0921db2c0f926f"
      ],
      "author": {
        "name": "Kevin Tang",
        "email": "73975146+vt128@users.noreply.github.com",
        "time": "Thu Dec 26 19:27:28 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 26 19:27:28 2024"
      },
      "message": "save last v in global for REPL (#570)\n\n"
    },
    {
      "commit": "c05ff208a98f05d326de87fb6d0921db2c0f926f",
      "tree": "b4a39ed11b600c1d8ea940fc118c4ed33ff8c392",
      "parents": [
        "d4d7611b175970714abca4efdc91692ee958a80f"
      ],
      "author": {
        "name": "Oleh Prypin",
        "email": "oleh@pryp.in",
        "time": "Mon Nov 25 20:15:18 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 25 20:15:18 2024"
      },
      "message": "Don\u0027t crash when freezing a struct with a circular reference (#567)\n\n* Don\u0027t crash when freezing a struct with a circular reference\r\n\r\nThe Freeze method needs to check for a `frozen` condition just like all the other types of values, otherwise there can be infinite recursion.\r\n\r\nThe test that I\u0027m adding here would crash without the fix.\r\n\r\n* Add a note about implementing Freeze\r\n\r\nCo-authored-by: Alan Donovan \u003cadonovan@google.com\u003e\r\n\r\n---------\r\n\r\nCo-authored-by: Alan Donovan \u003cadonovan@google.com\u003e"
    },
    {
      "commit": "d4d7611b175970714abca4efdc91692ee958a80f",
      "tree": "6b5ef5198844e95955c2b86c5aa4583645517aa4",
      "parents": [
        "1207426daebd7ea8eb86b8d917a344a72cc5167b"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Tue Nov 19 23:05:59 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 19 23:05:59 2024"
      },
      "message": "lib/json: encode floating point numbers with a decimal point (#564)\n\nThe previous code carelessly used Go\u0027s %g operator\r\nwhen it should have used Starlark\u0027s.\r\n\r\nFixes #563"
    },
    {
      "commit": "1207426daebd7ea8eb86b8d917a344a72cc5167b",
      "tree": "9c69bf9418feab31c04cda0495f6a287e582caf2",
      "parents": [
        "42030a7cedcee8b1fe3dc9309d4f545f6104715d"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Wed Sep 25 18:20:52 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 25 18:20:52 2024"
      },
      "message": "go fmt ... (#562)\n\n"
    },
    {
      "commit": "42030a7cedcee8b1fe3dc9309d4f545f6104715d",
      "tree": "30d38c3a67b68abef98ac242cbd2a51ec96c40d2",
      "parents": [
        "70002002b310c12a44e8389d18cfb34529b67ef4"
      ],
      "author": {
        "name": "Joshua Haberman",
        "email": "jhaberman@gmail.com",
        "time": "Thu Jul 25 21:49:46 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 25 21:49:46 2024"
      },
      "message": "Removed dead code for RPAREN. (#560)\n\nThis appears to be dead code, as we have just checked for RPAREN previously"
    },
    {
      "commit": "70002002b310c12a44e8389d18cfb34529b67ef4",
      "tree": "c086b993933bda5b86c4140c34560ba4fa94bde7",
      "parents": [
        "046347dcd1044f5e568fcf64884b0344f27910c0"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "mrcmnn@gmail.com",
        "time": "Fri Jul 05 17:59:10 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 05 17:59:10 2024"
      },
      "message": "Fix overflow checking for xxxRepeat (#558)\n\n"
    },
    {
      "commit": "046347dcd1044f5e568fcf64884b0344f27910c0",
      "tree": "b5ec663369c911904f31955d77abada0930b795b",
      "parents": [
        "3792562d0b7f4c093b4ced338f77ba46167febc5"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon May 20 16:03:48 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 20 16:03:48 2024"
      },
      "message": "starlark: profiler: stop using runtime.nanotime via linkname hack (#552)\n\nUpdates #546\r\nUpdates golang/go#67401"
    },
    {
      "commit": "3792562d0b7f4c093b4ced338f77ba46167febc5",
      "tree": "7805ceb87593de612d3b88b883eb8ae6e3f85c96",
      "parents": [
        "f457c4c2b267186711d0fadc15024e46b98186c5"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Fri May 17 23:06:49 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 17 23:06:49 2024"
      },
      "message": "starlark: require go1.23 for new iterators (#551)\n\nThe correct type for new iterators is iter.Seq, which\r\ndepends on a go1.23-only package, so we must limit the\r\nnew functions to new toolchains.\r\n\r\nIn principle this is (yet another) breaking change,\r\nbut I suspect only users of (pre-)go1.23 will notice,\r\nand they are living on the bleeding edge by choice.\r\n\r\nAlso, fix a couple of doc links."
    },
    {
      "commit": "f457c4c2b267186711d0fadc15024e46b98186c5",
      "tree": "e19b720b96f36f873af9714c33edad2dc235ba96",
      "parents": [
        "6fed6365a1243f68755d8d929be060a7e734368f"
      ],
      "author": {
        "name": "Oleksandr Redko",
        "email": "oleksandr.red+github@gmail.com",
        "time": "Fri May 10 16:30:22 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 10 16:30:22 2024"
      },
      "message": "spec: remove Contents in favor to GitHub\u0027s TOC (#549)\n\n"
    },
    {
      "commit": "6fed6365a1243f68755d8d929be060a7e734368f",
      "tree": "5cb69108003bba723c74898dfa7e42540b4c7895",
      "parents": [
        "cec2ad915c928b50c92f8f14242aed083b3a67ba"
      ],
      "author": {
        "name": "Oleksandr Redko",
        "email": "oleksandr.red+github@gmail.com",
        "time": "Fri May 10 15:44:28 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 10 15:44:28 2024"
      },
      "message": "docs: fix typos (#547)\n\n"
    },
    {
      "commit": "cec2ad915c928b50c92f8f14242aed083b3a67ba",
      "tree": "9162d353108466dc60baff3240a0b451b673e062",
      "parents": [
        "35fe9f26b4bc8e8e5dfe3e95b084e98ebe9dc32f"
      ],
      "author": {
        "name": "Oleksandr Redko",
        "email": "oleksandr.red+github@gmail.com",
        "time": "Fri May 10 15:43:23 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 10 15:43:23 2024"
      },
      "message": "syntax,repl: improve docs for deprecated functions (#548)\n\n"
    },
    {
      "commit": "35fe9f26b4bc8e8e5dfe3e95b084e98ebe9dc32f",
      "tree": "f1b028039616056eae254e52b26a39d31e3ee10c",
      "parents": [
        "9b43f0afd5217a6556578fe90aafdda24cf7d532"
      ],
      "author": {
        "name": "Nick Santos",
        "email": "nick.santos@docker.com",
        "time": "Tue May 07 19:56:48 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 07 19:56:48 2024"
      },
      "message": "starlark: tweak how UnpackArgs enforces optional args (#545)\n\nFixes https://github.com/google/starlark-go/issues/544\r\n\r\nSigned-off-by: Nick Santos \u003cnick.santos@docker.com\u003e"
    },
    {
      "commit": "9b43f0afd5217a6556578fe90aafdda24cf7d532",
      "tree": "f4f6c43bdcd465797f6cd2ec64d8eec536df6793",
      "parents": [
        "169c9869398d879b05dcd91a2454986390557652"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Thu Apr 11 21:27:11 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 11 21:27:11 2024"
      },
      "message": "starlark: add debug API for Locals and FreeVars (#539)\n\nThis change adds the following new API to allow debugging tools\r\nand built-in functions access to the internals of Function values\r\nand call frames:\r\n\r\npackage starlark\r\n\r\ntype Binding struct {\r\n       Name string\r\n       Pos  syntax.Position\r\n}\r\n\r\nfunc (fr *frame) NumLocals() int\r\nfunc (fr *frame) Local(i int) (Binding, Value)\r\n\r\ntype DebugFrame interface {\r\n    ...\r\n    NumLocals() int\r\n    Local(i int) (Binding, Value)\r\n}\r\n\r\nfunc (fn *Function) NumFreeVars() int\r\nfunc (fn *Function) FreeVar(i int) (Binding, Value)\r\n\r\nThis is strictly a breaking change, but the changed functions\r\n(the Local methods) were previously documented as experimental.\r\nThe fix is straightforward.\r\n\r\nAlso, a test of DebugFrame to write an \u0027env\u0027 function in\r\na similar vein to Python\u0027s \u0027dir\u0027 function.\r\n\r\nFixes #538"
    },
    {
      "commit": "169c9869398d879b05dcd91a2454986390557652",
      "tree": "9fce1070f49edb58bb1c68f12c8761d570fcedc2",
      "parents": [
        "b533e7f78597cadbb9880429b4993745320c4a1b"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Thu Apr 11 17:51:25 2024"
      },
      "committer": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Thu Apr 11 17:51:25 2024"
      },
      "message": "Revert \"starlark: add debug API for Locals and FreeVars\"\n\nThis reverts commit b533e7f78597cadbb9880429b4993745320c4a1b.\n"
    },
    {
      "commit": "b533e7f78597cadbb9880429b4993745320c4a1b",
      "tree": "f4f6c43bdcd465797f6cd2ec64d8eec536df6793",
      "parents": [
        "3f0a3703c02aaff109c1d5df37be01fee784d4fc"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Thu Apr 11 17:47:21 2024"
      },
      "committer": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Thu Apr 11 17:47:21 2024"
      },
      "message": "starlark: add debug API for Locals and FreeVars\n\nThis change adds the following new API to allow debugging tools\nand built-in functions access to the internals of Function values\nand call frames:\n\npackage starlark\n\ntype Binding struct {\n       Name string\n       Pos  syntax.Position\n}\n\nfunc (fr *frame) NumLocals() int\nfunc (fr *frame) Local(i int) (Binding, Value)\n\ntype DebugFrame interface {\n    ...\n    NumLocals() int\n    Local(i int) (Binding, Value)\n}\n\nfunc (fn *Function) NumFreeVars() int\nfunc (fn *Function) FreeVar(i int) (Binding, Value)\n\nThis is strictly a breaking change, but the changed functions\n(the Local methods) were previously documented as experimental.\nThe fix is straightforward.\n\nAlso, a test of DebugFrame to write an \u0027env\u0027 function in\na similar vein to Python\u0027s \u0027dir\u0027 function.\n\nFixes #538\n"
    },
    {
      "commit": "3f0a3703c02aaff109c1d5df37be01fee784d4fc",
      "tree": "9fce1070f49edb58bb1c68f12c8761d570fcedc2",
      "parents": [
        "e6e8e7ce1b7a8dff097a7e16bdacc53590e942ae"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon Apr 08 15:28:05 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 08 15:28:05 2024"
      },
      "message": "starlark: eta-abstract the new iterators (#537)\n\nAccording to\r\nhttps://github.com/golang/go/issues/66626#issuecomment-2035188011,\r\nthe convention for iterator methods is that they should return\r\nan iterator, not be an iterator. The caller thus uses this form:\r\n\r\n   for _ elem :\u003d range v.Elements() { ... }\r\n\r\nnot this one:\r\n\r\n   for _ elem :\u003d range v.Elements { ... }\r\n\r\nThis is unfortunately a breaking API change, but since go1.23 is\r\nnot yet released, no-one should be using the new range syntax yet."
    },
    {
      "commit": "e6e8e7ce1b7a8dff097a7e16bdacc53590e942ae",
      "tree": "666813c153f23c0df9a08a98784e11fa425a2616",
      "parents": [
        "ee8ed142361c69d52fe8e9fb5e311d2a0a7c02de"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Fri Mar 29 15:34:29 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 29 15:34:29 2024"
      },
      "message": "syntax: report start-of-token pos for parsePrimary errors (#533)\n\n(Conceivably other places need a similar treament, but they\r\nall seemed benign or marginal.)\r\n\r\nFixes #352"
    },
    {
      "commit": "ee8ed142361c69d52fe8e9fb5e311d2a0a7c02de",
      "tree": "14156783e07a4fe4117ad949f71f598905e63872",
      "parents": [
        "efac67204ba7e6cab3882b99502189a6632d7070"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Mar 14 02:21:50 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 14 02:21:50 2024"
      },
      "message": "build(deps): bump google.golang.org/protobuf from 1.25.0 to 1.33.0 (#530)\n\nBumps google.golang.org/protobuf from 1.25.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": "efac67204ba7e6cab3882b99502189a6632d7070",
      "tree": "9b347bd4c1fedc9483e0587ab69a44c04f8050f1",
      "parents": [
        "981680b3e495fe01e4af9644a9f2657cf4237d5a"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon Mar 11 18:08:35 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 11 18:08:35 2024"
      },
      "message": "starlark: new API for go1.23 push iterators (#527)\n\nThis change defines two helpers, Elements(seq)\r\nand Entries(mapping), that adapt the Iterable and\r\nIterableMapping interfaces to one- and two-variable\r\ngo1.23 range loops. The new syntax is more concise\r\nand frees the caller from worrying about Iterator.Done.\r\n\r\nWe do not yet update any calls to use them, so that\r\nthe project can continue to be build with pre-go1.23\r\nreleases of Go.\r\n\r\nAlso, define Elements methods on {*List,Tuple,*Set}\r\nand an Entries method on *Dict. These optimized iterators\r\n(which can fetch both k and v in one go) will be\r\nused by the Elements and Entries standalone functions\r\nwhen the operand supports it. (User-defined types\r\ncan implement these methods too, although the\r\ninterface isn\u0027t currently documented.)\r\n\r\nAlso, a go1.23-only test of the new iteration."
    },
    {
      "commit": "981680b3e495fe01e4af9644a9f2657cf4237d5a",
      "tree": "60c1d169ae577435318508236bd13f13ff78caaa",
      "parents": [
        "f86470692795f8abcf9f837a3c53cf031c5a3d7e"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Thu Mar 07 20:08:23 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 07 20:08:23 2024"
      },
      "message": "starlark: update go.mod to drop go1.18 support (#529)\n\nAlso, use go1.19\u0027s maphash.String.\r\nThe benchmark supports continuing to use FNV for short strings."
    },
    {
      "commit": "f86470692795f8abcf9f837a3c53cf031c5a3d7e",
      "tree": "aea859877a24f9612ad955571095c8f9eac86d9b",
      "parents": [
        "90ade8b19d09805d1b91a9687198869add6dfaa1"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "mrcmnn@gmail.com",
        "time": "Tue Jan 23 14:22:51 2024"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 23 14:22:51 2024"
      },
      "message": "Remove debug clock from Time.String() (#524)\n\n"
    },
    {
      "commit": "90ade8b19d09805d1b91a9687198869add6dfaa1",
      "tree": "a81d761b44f3e1368f40264e8a4e36beed34e43e",
      "parents": [
        "556fd59b42f68a2fb1f84957741b72811c714e51"
      ],
      "author": {
        "name": "kcza",
        "email": "ed.jones@canonical.com",
        "time": "Tue Nov 21 15:53:37 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 21 15:53:37 2023"
      },
      "message": "Remove \u0027too many arguments\u0027 error when interpolating over mappings (#520)\n\n* Fix inconsistent interpolation with empty mappings and tuples\r\n\r\n* Clarify spec when no conversions are present\r\n\r\n* Rename `any` function\r\n\r\n* Only check for `Mapping` in the uncommon case"
    },
    {
      "commit": "556fd59b42f68a2fb1f84957741b72811c714e51",
      "tree": "925e3b005aeda855f8ea1a0d3b476385aa337ba3",
      "parents": [
        "22325403fcb3696ebcc542d0e7cc75156d1fdca3"
      ],
      "author": {
        "name": "Mikhail Mazurskiy",
        "email": "126021+ash2k@users.noreply.github.com",
        "time": "Wed Nov 01 13:45:39 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 01 13:45:39 2023"
      },
      "message": "time: per-thread time.now() function (#517)\n\n"
    },
    {
      "commit": "22325403fcb3696ebcc542d0e7cc75156d1fdca3",
      "tree": "28567e6cfe23d959dd223245afbfe33200d942de",
      "parents": [
        "47c85baa7a64378753cc201ba77ff86318b2027e"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "mrcmnn@gmail.com",
        "time": "Mon Oct 16 13:48:36 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 16 13:48:36 2023"
      },
      "message": "Limit CPU and memory usage for int-to-float conversion (#515)\n\nCo-authored-by: kcza \u003ced.jones@canonical.com\u003e"
    },
    {
      "commit": "47c85baa7a64378753cc201ba77ff86318b2027e",
      "tree": "2fb360d536ef27614186abf56daa2a7d24e59f11",
      "parents": [
        "10651d5192ab68643b398b58e504dce4ce27ce61"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "mrcmnn@gmail.com",
        "time": "Fri Oct 13 16:21:35 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 13 16:21:35 2023"
      },
      "message": "Better issubset performance (#514)\n\n* Benchmarking issubset\r\n\r\n* Improving set.isssubset performance\r\n\r\n* Improve readability of hashtable.count"
    },
    {
      "commit": "10651d5192ab68643b398b58e504dce4ce27ce61",
      "tree": "e0d4766765b1d3317c17122737e1af30ed90ea4a",
      "parents": [
        "a9587466d7a57533a4fc0f92c8e64864e06cbe37"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "mrcmnn@gmail.com",
        "time": "Mon Sep 25 16:37:45 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 25 16:37:45 2023"
      },
      "message": "Make resolve follow FileOptions.TopLevelControl (#510)\n\n* Make resolve follow FileOptions.TopLevelControl\r\n\r\nThe new struct FileOptions allows for fine grained control over language\r\nfeature. However, it didn\u0027t respect FileOptions.TopLevelControl flag as\r\nthe only way to actually allow if/for/while in the top level context was\r\nto enable FileOptions.GlobalReassign flag.\r\n\r\n* Splitting flags and better testing"
    },
    {
      "commit": "a9587466d7a57533a4fc0f92c8e64864e06cbe37",
      "tree": "07e3dba26e4dab5c4d4829fcbf6b845c10f9bd41",
      "parents": [
        "bb4c9a3671b1d87c022a0afb92aaf0a06a5e082b"
      ],
      "author": {
        "name": "Oleksandr Redko",
        "email": "oleksandr.red+github@gmail.com",
        "time": "Thu Sep 21 16:17:17 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 16:17:17 2023"
      },
      "message": "Refactor TestLoadBacktrace to use errors.Unwrap (#509)\n\n"
    },
    {
      "commit": "bb4c9a3671b1d87c022a0afb92aaf0a06a5e082b",
      "tree": "658f0216c3c1730c98760cc57c2b72899c843cfe",
      "parents": [
        "79febcec3f909def7604ac5e8893e58d87b57f3b"
      ],
      "author": {
        "name": "Oleksandr Redko",
        "email": "Oleksandr_Redko@epam.com",
        "time": "Thu Sep 21 16:14:29 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 16:14:29 2023"
      },
      "message": "Change to go 1.18; extend ci test versions (#508)\n\n"
    },
    {
      "commit": "79febcec3f909def7604ac5e8893e58d87b57f3b",
      "tree": "8b2b33e09964095cfa60c34d66e6e93c6c00ac56",
      "parents": [
        "745481cf39ed5052e18952ee7f6de1b86db15956"
      ],
      "author": {
        "name": "Oleksandr Redko",
        "email": "Oleksandr_Redko@epam.com",
        "time": "Thu Sep 21 15:07:05 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 15:07:05 2023"
      },
      "message": "Remove usage of deprecated io/ioutil package (#507)\n\n"
    },
    {
      "commit": "745481cf39ed5052e18952ee7f6de1b86db15956",
      "tree": "38a88f499d3fee8dd96c6e207a5a726774ab6d46",
      "parents": [
        "95963e0100177265c70ef86dbb54d6f0e37fcc27"
      ],
      "author": {
        "name": "Sam Wheating",
        "email": "samwheating@gmail.com",
        "time": "Tue Sep 12 13:56:51 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 12 13:56:51 2023"
      },
      "message": "Adding additional set builtins (#506)\n\n* Add difference, subset, superset, intersection, symmetric difference to sets\r\n\r\n* Added documentation on new set operations\r\n\r\n* Remove outdated comments regarding allowBitwise flag\r\n\r\n* fixes\r\n\r\n* go fmt\r\n\r\n* Requested documentation fixes\r\n\r\n* Changes requested in code review\r\n\r\n* use fast checks based on set length in set.CompareSameType"
    },
    {
      "commit": "95963e0100177265c70ef86dbb54d6f0e37fcc27",
      "tree": "ded4a7b461663793e84c745a4e27c2a6750ec45d",
      "parents": [
        "c9e9adf3fde2b16d1cd34890b70ccc6db596345a"
      ],
      "author": {
        "name": "Raphaël Vigée",
        "email": "raphaelvigee@users.noreply.github.com",
        "time": "Mon Sep 11 22:27:09 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 11 22:27:09 2023"
      },
      "message": "Expose paren Position on DefStmt (#504)\n\n"
    },
    {
      "commit": "c9e9adf3fde2b16d1cd34890b70ccc6db596345a",
      "tree": "35f54aad179fcd54ea901756090fc29f998dfebe",
      "parents": [
        "68633c9954b01e18ee39c34c6246830cfd3bfa0b"
      ],
      "author": {
        "name": "cui fliter",
        "email": "imcusg@gmail.com",
        "time": "Thu Aug 31 15:10:29 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 31 15:10:29 2023"
      },
      "message": "fix a few function names on comments (#427)\n\nSigned-off-by: cui fliter \u003cimcusg@gmail.com\u003e"
    },
    {
      "commit": "68633c9954b01e18ee39c34c6246830cfd3bfa0b",
      "tree": "21d80fcba043185a7a3e75cc9cbd9ed7b615d8ec",
      "parents": [
        "12f4cb8177e460a7ef2f9fdd3d27d51e25a830c3"
      ],
      "author": {
        "name": "Sam Wheating",
        "email": "samwheating@gmail.com",
        "time": "Tue Aug 29 17:51:25 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 29 17:51:25 2023"
      },
      "message": "Additional methods for Set type (#497)\n\n* Added set.add(elem)\r\n\r\n* Added set.pop()\r\n\r\n* Added set.remove(key)\r\n\r\n* Added set.discard(key)\r\n\r\n* Added set.clear()\r\n\r\n* go fmt\r\n\r\n* documentation\r\n\r\n* Adding test coverage, fixing failures\r\n\r\n* Update docs\r\n\r\n* Suggestions from code review - ordering, doc fixes, arg counts\r\n\r\n* Documentation formatting, test coverage, check before mutating frozen sets\r\n\r\n* Applying suggestions for review"
    },
    {
      "commit": "12f4cb8177e460a7ef2f9fdd3d27d51e25a830c3",
      "tree": "06ed80fa2da8ba21d46e13a8a0bff048aab98685",
      "parents": [
        "460f143bb8933e433b53ed08aeba6852fb6c65f1"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon Aug 14 14:54:27 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 14 14:54:27 2023"
      },
      "message": "syntax: parameterize API over FileOptions, avoid globals (#477)\n\nThis change eliminates the need for client applications\r\nto set global variables to control dialect options,\r\nas globals are error-prone and concurrency hostile.\r\n\r\nAll relevant API functions Foo now have a variant FooOptions\r\nthat takes an explicit FileOptions; the original function\r\naccesses the legacy options by reading the global variables.\r\n\r\nFixes #435"
    },
    {
      "commit": "460f143bb8933e433b53ed08aeba6852fb6c65f1",
      "tree": "7777fea48290438adf1e02d6a8726e8c074d0956",
      "parents": [
        "2aa75752d1da6ff8d5418e5e84da80a337ecb7f5"
      ],
      "author": {
        "name": "Oleksandr Redko",
        "email": "oleksandr.red+github@gmail.com",
        "time": "Mon Aug 14 08:51:26 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 14 08:51:26 2023"
      },
      "message": "Fix typos in comments (#496)\n\n"
    },
    {
      "commit": "2aa75752d1da6ff8d5418e5e84da80a337ecb7f5",
      "tree": "5f9cb3d80b8839554886d0bf3ec63be3b89f8b42",
      "parents": [
        "9b46791399bf81c9138f98f2c6967c58496a30b3"
      ],
      "author": {
        "name": "Alexandre Rostovtsev",
        "email": "arostovtsev@google.com",
        "time": "Mon Aug 07 14:40:10 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 07 14:40:10 2023"
      },
      "message": "trivial: Fix golint errors (#495)\n\nGoogle\u0027s linter is complaining about the following:\r\n\r\n* comment on exported method Int.Cmp should be of the form \"Cmp ...\"\r\n* receiver name x should be consistent with previous receiver name i for Int\r\n* exported method Float.Cmp should have comment or be unexported\r\n* receiver name x should be consistent with previous receiver name f for Float\r\n* method parameter y_ should be y"
    },
    {
      "commit": "9b46791399bf81c9138f98f2c6967c58496a30b3",
      "tree": "fdd4c01e9362fbc2d3dbfdd7b1f8ba35cfef7915",
      "parents": [
        "cf31414a08ec9a3371d99fcbd85131f0f943e9cf"
      ],
      "author": {
        "name": "Mai Hussien",
        "email": "70515749+mai93@users.noreply.github.com",
        "time": "Mon Jul 31 23:45:21 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 31 23:45:21 2023"
      },
      "message": "Replace `ctx.new_file` with `ctx.actions.declare_file` (#494)\n\nThis will change the output directory from `bazel-genfiles` to `bazel-bin`"
    },
    {
      "commit": "cf31414a08ec9a3371d99fcbd85131f0f943e9cf",
      "tree": "b23eed0bcca4cf1b6cb779b6a9658248898a153e",
      "parents": [
        "7dadff3950060951f274c16da96636de12a24c31"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "mrcmnn@gmail.com",
        "time": "Mon Jul 31 14:54:04 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 31 14:54:04 2023"
      },
      "message": "Fixing example in documentation (#432)\n\n`String` type is not directly indexable (at least not in go-starlark)."
    },
    {
      "commit": "7dadff3950060951f274c16da96636de12a24c31",
      "tree": "d6a84a4ec856c0dd0e461ba8edd7d885c893ad75",
      "parents": [
        "0d7263928a74a8d4cf6e23b648bace6925b65dbb"
      ],
      "author": {
        "name": "tazjin",
        "email": "tazjin@tvl.su",
        "time": "Wed Jul 26 09:47:10 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 26 09:47:10 2023"
      },
      "message": "lib/proto: add support for instantiating proto map fields (#491)\n\nWith this change, it becomes possible to instantiate `map\u003ck,v\u003e` type\r\nfields in Protobuf messages from Starlark.\r\n\r\nMaps can be constructed from any Starlark type that implements\r\nstarlark.IterableMapping.\r\n\r\nProtobuf messages can have most types as keys/values, so the type\r\nconformity is checked individually for each key/value pair (as the\r\nStarlark side of things is dynamically typed).\r\n\r\nThis has been tested against fairly complex proto messages containing\r\nmaps.\r\n\r\nMap operations apart from construction are not supported in this CL."
    },
    {
      "commit": "0d7263928a74a8d4cf6e23b648bace6925b65dbb",
      "tree": "42e3afb8d99d7522b9a51db9a48ded6d0aaf9df2",
      "parents": [
        "08598ae210f9c575cd9fd75dc2f24ad53a4aeac8"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Tue Jul 25 16:14:58 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 25 16:14:58 2023"
      },
      "message": "starlarktest/assert.star: allow +/-1 ULP in float eq comparisons (#490)\n\nFixes #488"
    },
    {
      "commit": "08598ae210f9c575cd9fd75dc2f24ad53a4aeac8",
      "tree": "00df65dc3f85abe4f3123bc2e9a03753eefb5c36",
      "parents": [
        "1c3ac63bd2177bae904dd5f925b30649503f1ddf"
      ],
      "author": {
        "name": "Álex Sáez",
        "email": "alexsaezm@gmail.com",
        "time": "Fri Jul 21 16:46:32 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 21 16:46:32 2023"
      },
      "message": "Fix build flags for s390x, ppc64, and ppc64le (#489)\n\n"
    },
    {
      "commit": "1c3ac63bd2177bae904dd5f925b30649503f1ddf",
      "tree": "375b0c6331c7a2b09cf1f4214636eebaa249b713",
      "parents": [
        "8a33432109769ebc6e0dfe32970ba9d71f96349a"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "mrcmnn@gmail.com",
        "time": "Tue Jul 18 15:31:41 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 18 15:31:41 2023"
      },
      "message": "Fixing name of mod builtin (#487)\n\n"
    },
    {
      "commit": "8a33432109769ebc6e0dfe32970ba9d71f96349a",
      "tree": "66d8fe1732159a152d848b964f8723b93c77f0e1",
      "parents": [
        "2226322290fcffc4176b19ea0f20b30dab376195"
      ],
      "author": {
        "name": "nozzy123nozzy",
        "email": "nozzy123nozzy@gmail.com",
        "time": "Mon Jul 17 15:06:57 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 17 15:06:57 2023"
      },
      "message": "Fix typo in import comment because this causes compilation problem when making package for OS distribution. (#486)\n\n"
    },
    {
      "commit": "2226322290fcffc4176b19ea0f20b30dab376195",
      "tree": "0402d14f811d8b8ade2516440c6a10551f0f3d41",
      "parents": [
        "9532f5667272365698e476c5fa8ecc877ce82aa2"
      ],
      "author": {
        "name": "Danial Klimkin",
        "email": "dklimkin@users.noreply.github.com",
        "time": "Wed Jul 12 17:36:30 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 12 17:36:30 2023"
      },
      "message": "Bump memory boundary to 4Gb in test (#484)\n\nTest breaks in some environments where pre-existing allocations exceed 1Gb."
    },
    {
      "commit": "9532f5667272365698e476c5fa8ecc877ce82aa2",
      "tree": "0ba00a79b18699e69b1a78ecee40cfc5ef876d30",
      "parents": [
        "99efbb175f02e440e1ec46e8fca13fd1f41a0886"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon Jun 12 16:53:44 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 16:53:44 2023"
      },
      "message": "lib/json: fix go1.17 build by avoiding reflect.Value.UnsafePointer (#474)\n\nFixes #473"
    },
    {
      "commit": "99efbb175f02e440e1ec46e8fca13fd1f41a0886",
      "tree": "c36926a14b7524b8778a18e92c693171506008e7",
      "parents": [
        "d31a485b053260a80cac21cf73fe6637f4d271b5"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon Jun 12 16:53:24 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 16:53:24 2023"
      },
      "message": "README: document support of 4 minor go1.x releases (#475)\n\nUpdates #474"
    },
    {
      "commit": "d31a485b053260a80cac21cf73fe6637f4d271b5",
      "tree": "12f0cc04a8362e3695a5cb4f42a6b349d04265b5",
      "parents": [
        "a134d8f9ddca7469c736775b67544671f0a135ad"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Mon Jun 12 16:53:09 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 16:53:09 2023"
      },
      "message": "syntax: reserve async, await keywords (#476)\n\nThis is technically a breaking change, but neither Google\u0027s\r\nnor GitHub\u0027s Starlark corpus contains a single instance\r\nof either of these used as identifiers, so the change looks\r\npretty safe.\r\n\r\nFixes #471"
    },
    {
      "commit": "a134d8f9ddca7469c736775b67544671f0a135ad",
      "tree": "aea73b3220cb4c2ed35d17fb59edcbabe9f58a4d",
      "parents": [
        "75289a4d127f95bd34c27bce401453a17685c221"
      ],
      "author": {
        "name": "Alexandre Rostovtsev",
        "email": "arostovtsev@google.com",
        "time": "Thu May 25 23:56:12 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 25 23:56:12 2023"
      },
      "message": "Allow json.decode to return a default value if decoding fails (#466)\n\nThis is the starlark-go counterpart to https://github.com/bazelbuild/bazel/commit/71fb1e4188b01e582a308cfe4bcbf1c730eded1b\r\n\r\nIt is useful to be able to decode a potentially invalid JSON string without\r\nfailing Starlark evaluation. Typically, in this case, we would want to return\r\na default value - either a reasonable safe default or some domain-specific\r\nrepresentation of \"we encountered an error\".\r\n\r\nNote that the original behavior of json.decode failing on invalid JSON input\r\nstill remains (for lack of a better word) the default: the `default` value,\r\neven if it is `None`, must be specified explicitly.\r\n\r\nFixes #465"
    },
    {
      "commit": "75289a4d127f95bd34c27bce401453a17685c221",
      "tree": "db7712952cf53e863542dadb47fabe349c8a716e",
      "parents": [
        "4b1e35fe22541876eb7aa2d666416d865d905028"
      ],
      "author": {
        "name": "Andrei Matei",
        "email": "andreimatei1@gmail.com",
        "time": "Thu May 25 18:37:08 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 25 18:37:08 2023"
      },
      "message": "lib/json: don\u0027t fatal on Attr errors when encoding (#467)\n\nBefore this patch, the json library would log.Fatal() when encoding a\r\nHasAttrs struct whose .Attr(name) return nil or an error for a name that\r\nwas previously listed by AttrNames(). Fatal\u0027ing in a library is a bit\r\npresumptuous. In particular, Delve the Go debugger uses go-starlark to\r\nrun scripts, and also have implementations of HasAttr that can fail at\r\nruntime (e.g.  a struct modelling a variable from the debugged process\r\nimplements Attr uses magic to present the field names of the target\r\nvariable in AttrNames, and the Attr implementation returns errors if one\r\nparticular field cannot be loaded).\r\nDelve even goes as far as recovering panics from script execution, but\r\nthat doesn\u0027t work for log.Fatal.\r\n\r\nThis patch returns the error (thus also failing the script) instead of\r\nthe log.Fatal."
    },
    {
      "commit": "4b1e35fe22541876eb7aa2d666416d865d905028",
      "tree": "992d9f243b666438e21dd058726e423b44554fe0",
      "parents": [
        "dded03209eade82b7ee3c5eac52796a853c46c58"
      ],
      "author": {
        "name": "Sam Wheating",
        "email": "samwheating@gmail.com",
        "time": "Thu Mar 02 03:41:42 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 02 03:41:42 2023"
      },
      "message": "Optimizing hashtable.grow() for faster hashtables (#459)\n\n* Using a specialized version of Insert to speed up hashmap expansion\r\n\r\n* Further improvements\r\n\r\n* undo changes and update TODO"
    },
    {
      "commit": "dded03209eade82b7ee3c5eac52796a853c46c58",
      "tree": "e16f7641303c427d852a93ddfee5a95ad04fd56a",
      "parents": [
        "50efbbf37d38f86cf543780efdcc5ffd3ae094fd"
      ],
      "author": {
        "name": "Sam Wheating",
        "email": "samwheating@gmail.com",
        "time": "Tue Feb 28 03:26:50 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 28 03:26:50 2023"
      },
      "message": "Adding new ThreeWayComparable interface (#457)\n\n* Add ThreewayComparable Interface to value.go\r\n\r\n* Use ThreeWayComparable interface for int type\r\n\r\n* refactor time.go to use ThreeWayComparable interface\r\n\r\n* Cleanup\r\n\r\n* Apply suggestions from review\r\n\r\n* Apply changes from code reviews"
    },
    {
      "commit": "50efbbf37d38f86cf543780efdcc5ffd3ae094fd",
      "tree": "980c1e7899a2ad60dfce62c4b407a340c432d6cd",
      "parents": [
        "c52844e64a10fb0a67ae99619ee98a49de4f8210"
      ],
      "author": {
        "name": "Filip Filmar",
        "email": "filmil@gmail.com",
        "time": "Mon Feb 27 23:14:52 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 27 23:14:52 2023"
      },
      "message": "Disambiguate a resolve message (#458)\n\nI had a duplicate kwargs named \u0027disabled\u0027. This\r\nended up with a message \u0027keyword argument disabled repeated\u0027,\r\nwhich is really difficult to parse.\r\n\r\nHope to clarify things by changing that text a bit."
    },
    {
      "commit": "c52844e64a10fb0a67ae99619ee98a49de4f8210",
      "tree": "97d2d023a5ade3a95cead1d110b600a4fbccca4f",
      "parents": [
        "3f75dec8e4039385901a30981e3703470d77e027"
      ],
      "author": {
        "name": "Edward McFarlane",
        "email": "3036610+emcfarlane@users.noreply.github.com",
        "time": "Fri Feb 24 15:11:20 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 24 15:11:20 2023"
      },
      "message": "starlark: set internal iteration use hashtable linked lists (#404)\n\n* starlark: set internal iteration use hashtable linked lists\r\n\r\nRemoves allocations on Set operations. Added a benchmark testing\r\nequality.\r\n\r\nOld:\r\nBenchmark/bench_set_equal-8                35050             34043 ns/op           16384 B/op          1 allocs/op\r\n\r\nNew:\r\nBenchmark/bench_set_equal-8                41312             28884 ns/op               0 B/op          0 allocs/op\r\n\r\n* Fix set init size to avoid over allocating\r\n\r\nLet set resize itself to reduce chance of overallocating.\r\nSmall changes to doc comments to support go1.19 doc string formatting."
    },
    {
      "commit": "3f75dec8e4039385901a30981e3703470d77e027",
      "tree": "0da913263f04217d151d2255f592c96b026fbfff",
      "parents": [
        "066229b0515d3d8b16c5bc0a4e856cd72730fbba"
      ],
      "author": {
        "name": "Vincent",
        "email": "vtsao@users.noreply.github.com",
        "time": "Sat Jan 28 21:37:06 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 28 21:37:06 2023"
      },
      "message": "Added a ParamDefault() method to Function that returns parameter default values. (#452)\n\n"
    },
    {
      "commit": "066229b0515d3d8b16c5bc0a4e856cd72730fbba",
      "tree": "f764930547400aea1a8e2e3fe2152738a43bfbe7",
      "parents": [
        "ddd531cdb2da3104889744be5a3ab8579bd0ccc8"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Sun Jan 22 04:07:57 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 22 04:07:57 2023"
      },
      "message": "starlark: optimize TestProfile (#456)\n\nPreviously, the test would compute the first 100,000\r\nelements of the Fibonacci sequence, holding them all in\r\nan array. Since elements may have over 20,000 digits,\r\nthis allocates a lot of memory, which, under tight\r\nulimits of virtual address space, in conjunction with\r\nthe mmap int optimization, may cause the process to\r\nhave insufficient virtual address space to allocate\r\nthe necessary memory.\r\n\r\nThis change causes it to compute but not retain the\r\nelements of the sequence.\r\n\r\nFixes google/starlark-go#455"
    },
    {
      "commit": "ddd531cdb2da3104889744be5a3ab8579bd0ccc8",
      "tree": "b663e842f4db2624f61650f8b72d98c31132a0f1",
      "parents": [
        "fae38c8a6d89dc410be86b76dfff475b29dba878"
      ],
      "author": {
        "name": "Yuxin Wang",
        "email": "yuxinw@uber.com",
        "time": "Wed Jan 18 14:31:10 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 18 14:31:10 2023"
      },
      "message": "Convert `assert.go` back to `assert.star` and bump Go version to 1.16. (#453)\n\n* Convert `assert.go` back to `assert.star`.\r\n\r\n* Add newline to `assert.star`.\r\n\r\n* Add back `DataFile` public API."
    },
    {
      "commit": "fae38c8a6d89dc410be86b76dfff475b29dba878",
      "tree": "29c291c197bbad921f484c712afc25310d99915b",
      "parents": [
        "dcdc0f0598e3fc1e6238c651c78c4265cb7c5b4e"
      ],
      "author": {
        "name": "Guillaume Bouvignies",
        "email": "guillaume.bouvignies@kurtosistech.com",
        "time": "Thu Jan 12 14:49:46 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 12 14:49:46 2023"
      },
      "message": "Update Struct.String() function to not quote starlark.String custom constructor (#449)\n\n"
    },
    {
      "commit": "dcdc0f0598e3fc1e6238c651c78c4265cb7c5b4e",
      "tree": "9f5f122bd86e4ef439a33d6e5a8489d4badae646",
      "parents": [
        "d7da88764354917a82dfa84a8ae1cb04f107ab78"
      ],
      "author": {
        "name": "Yuxin Wang",
        "email": "yuxinwang.dev@gmail.com",
        "time": "Tue Jan 10 15:57:49 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 10 15:57:49 2023"
      },
      "message": "Walk syntax.DictEntry instead of ignoring it. (#447)\n\n"
    },
    {
      "commit": "d7da88764354917a82dfa84a8ae1cb04f107ab78",
      "tree": "b8a2a1e2d73a2556e459dd1ea85fa4a709703a5f",
      "parents": [
        "09991d3a103e6d3301e53f2224f248de3867a64a"
      ],
      "author": {
        "name": "Yu",
        "email": "1095780+yuikns@users.noreply.github.com",
        "time": "Thu Jan 05 14:37:30 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 05 14:37:30 2023"
      },
      "message": "docs: fix typo parse_time (#445)\n\n"
    },
    {
      "commit": "09991d3a103e6d3301e53f2224f248de3867a64a",
      "tree": "d0cfcf2cf9030d4cb116c69eec6dec8c5044bc06",
      "parents": [
        "3fd0dac744527b55a0f1f44769cfe9ad2703a3bf"
      ],
      "author": {
        "name": "Alessandro Arzilli",
        "email": "alessandro.arzilli@gmail.com",
        "time": "Tue Jan 03 14:31:15 2023"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 03 14:31:15 2023"
      },
      "message": "starlark: do not use reflect.Value.MethodByName (#444)\n\nUsing MethodByName disables deadcode elimination in the linker (see the\r\ndeadcode function in $GOROOT/src/cmd/link/internal/ld/deadcode.go).\r\nSince the only use of MethodByName is with a static string as an\r\nargument it can be easily replaced with a downcast to an interface."
    },
    {
      "commit": "3fd0dac744527b55a0f1f44769cfe9ad2703a3bf",
      "tree": "511427931d20c80d3854d4568dbc21485af3e2fb",
      "parents": [
        "0eacda462e01989fe4c958c147904483ab775b2b"
      ],
      "author": {
        "name": "Wojciech Ptak",
        "email": "wojciechp@google.com",
        "time": "Mon Dec 05 18:07:19 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 05 18:07:19 2022"
      },
      "message": "int_test: Move `--entry` flag definition from TestMain to package initialization time. (#442)\n\nThis change matters only in google3/blaze.\r\n\r\nWithin google3/blaze, all Go tests have additional initialization logic added by the build system.\r\nThat causes the flags to be parsed before TestMain runs, resulting in a\r\n\"flag provided but not defined\" error when the test spawns itself from a subshell.\r\nMoving the flag definition to package-level variable is enough to fix the initialization order."
    },
    {
      "commit": "0eacda462e01989fe4c958c147904483ab775b2b",
      "tree": "53743851cfbc5905887cb713b2f04ff3be4cd7f5",
      "parents": [
        "42872f4d8faac131980be5f3bc9505851d863fff"
      ],
      "author": {
        "name": "Sam Wheating",
        "email": "samwheating@gmail.com",
        "time": "Mon Dec 05 16:10:53 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 05 16:10:53 2022"
      },
      "message": "lib/time: consider any Time other than zero instant to be truthy (#441)\n\n"
    },
    {
      "commit": "42872f4d8faac131980be5f3bc9505851d863fff",
      "tree": "dc30dc1008491e9e04c8e649072cab058523e215",
      "parents": [
        "3d7c6cd99570e87b744fbf81f97c065afd0c7263"
      ],
      "author": {
        "name": "Wojciech Ptak",
        "email": "wojtek.ptak@gmail.com",
        "time": "Fri Dec 02 14:30:44 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 02 14:30:44 2022"
      },
      "message": "lib/proto: Allow replacing repeated fields, instead of appending. (#440)\n\n* lib/proto: Allow replacing repeated fields, instead of appending.\r\n\r\nConsider the following Stralark line:\r\n\r\n        msg.repeated \u003d [1,2,3]\r\n\r\nWithout this commit, that line appends three elements to the previous existing\r\nrepeated values. With this commit, that line replaces the previous repeated\r\nvalues with new three items.\r\n\r\nI believe the old semantics is simply a bug, and that most users would\r\nexpect an assignment to overwrite the previous value.\r\n\r\n* Add a small test for lib/proto\r\n\r\n* Use list.Truncate(0) instead of msg.Clear\r\n\r\nCo-authored-by: Wojciech Ptak \u003cwojciechp@google.com\u003e"
    },
    {
      "commit": "3d7c6cd99570e87b744fbf81f97c065afd0c7263",
      "tree": "910df92db62ac8a534f6324fc0815854f452bfe2",
      "parents": [
        "acb66ad56dd25d86c91a1efc3869d4a0ec0fcbdb"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "marco.manino@canonical.com",
        "time": "Thu Dec 01 20:44:45 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 01 20:44:45 2022"
      },
      "message": "Fixing bad allocation pattern in `float` builtin (#438)\n\n* Fixing bad allocation pattern in `float` builtin\r\n\r\n* Avoid relying on impementation details\r\n\r\nThis commit uses only public and well-defined methods from the `big.Int`\r\ninterface. While that is great, it will miss to fix the issue in the\r\nrange [-2^63, -2^64). Still better then being unsafe."
    },
    {
      "commit": "acb66ad56dd25d86c91a1efc3869d4a0ec0fcbdb",
      "tree": "84c6f0aecd31ac0de8efe9e6bc1af3fde0337de7",
      "parents": [
        "eaacdf22efa54ae03ea2ec60e248be80d0cadda0"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Fri Oct 28 18:30:56 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 28 18:30:56 2022"
      },
      "message": "lib/json: fix trivially broken tests (#434)\n\nAlso, use uppercase for \"JSON\" in the same error message."
    },
    {
      "commit": "eaacdf22efa54ae03ea2ec60e248be80d0cadda0",
      "tree": "4353c0137e2aa64bc8763656a347f6ad713d75bd",
      "parents": [
        "22309ac47eac3526f2882553dac3621cb70197c3"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Fri Oct 28 18:14:52 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 28 18:14:52 2022"
      },
      "message": "starlark: use defer for cleanup so that panics pass through safely (#422)\n\nThis change uses defer for the cleanup logic in in Call and\r\nFunction.CallInternal so that panics originating in application\r\nfunctions called by the interpreter can safely pass through\r\nthe interpreter without leaving the thread in a bad state\r\n(e.g. frames still on the stack).\r\n\r\nThis seems to have an impact of ~0.7% on the \u0027calling\u0027 benchmark,\r\nwhich represents the worst possible case.\r\n\r\nAlso, a test.\r\n\r\nFixes #419"
    },
    {
      "commit": "22309ac47eac3526f2882553dac3621cb70197c3",
      "tree": "d0b55dce3b75285072ae87e48846f0f2a439731e",
      "parents": [
        "6ce4ce37fe55d7411429f6cdb22f012ed65f4612"
      ],
      "author": {
        "name": "Marco Manino",
        "email": "marco.manino@canonical.com",
        "time": "Thu Oct 20 14:37:00 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 20 14:37:00 2022"
      },
      "message": "Detecting json loops (#431)\n\n* Adding json.encode benchmarks\r\n\r\n* Detecting cycles in json\r\n\r\n* Adding some tests to cycle detection\r\n\r\n* Using a stack-based approac instead of maps\r\n\r\n* Closure and preallocation\r\n\r\nUsing a capture value as a state instead of polluting the stack with\r\ncopies of path. This is both faster and allows to reuse allocated\r\nmemory.\r\n\r\nAlso, preallocating a small (is 8 the right constant) allows to avoid\r\nallocation for most of the cases.\r\n\r\n* Using unsafe.Pointer instead of uintptr\r\n\r\nThis includes some renaming and code style guidelines discussed with\r\n@adonovan.\r\n\r\n* Adding a comment to check logic and improved error message"
    },
    {
      "commit": "6ce4ce37fe55d7411429f6cdb22f012ed65f4612",
      "tree": "e28cbb20e43beff71a7b69f27b075378e74a7ed1",
      "parents": [
        "6bf6f0955179bfea7840383d98d1c350b5e9219c"
      ],
      "author": {
        "name": "kaka",
        "email": "vanishs@hotmail.com",
        "time": "Wed Oct 19 14:42:34 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 19 14:42:34 2022"
      },
      "message": "Imlemented ResetStepsAndCancelReason() (#433)\n\n* Imlemented ResetStepsAndCancelReason()\r\n\r\n* Imlemented Uncancel() and make steps public\r\n\r\n* fix comments"
    },
    {
      "commit": "6bf6f0955179bfea7840383d98d1c350b5e9219c",
      "tree": "a68da35c6e51339cbf7f689f0068c9d3d880e723",
      "parents": [
        "5fccb4daaf6d81d6de296eb308ddcd8a11d36b4b"
      ],
      "author": {
        "name": "Benjamin Wang",
        "email": "wachao@vmware.com",
        "time": "Mon Oct 10 14:08:40 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 10 14:08:40 2022"
      },
      "message": "update spec.md to correct some mistakes (#428)\n\nSigned-off-by: Benjamin Wang \u003cwachao@vmware.com\u003e\r\n\r\nSigned-off-by: Benjamin Wang \u003cwachao@vmware.com\u003e"
    },
    {
      "commit": "5fccb4daaf6d81d6de296eb308ddcd8a11d36b4b",
      "tree": "677adb693dc8af6e10743299bf7add1a8468f12d",
      "parents": [
        "14b0506775055536515d9f424f06c8ca1bb80fd5"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "adonovan@google.com",
        "time": "Wed Sep 28 06:38:52 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 28 06:38:52 2022"
      },
      "message": "Tidy go.mod file (#424)\n\nAlso improve failure message of tidiness test."
    },
    {
      "commit": "14b0506775055536515d9f424f06c8ca1bb80fd5",
      "tree": "d01e01daaf0927e8c1161f436c19a047975173a1",
      "parents": [
        "f738f5508c12fe5a9fae44bbdf07a94ddcf5030e"
      ],
      "author": {
        "name": "Adam Stringer",
        "email": "adampstringer@protonmail.com",
        "time": "Mon Sep 26 14:50:19 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 26 14:50:19 2022"
      },
      "message": "Amend welcome banner and final println (#413)\n\n* Amend welcome banner and final println\r\n\r\n* Update sys so I can build, add term from x to use\r\n\r\n* Simplify stdin check\r\n\r\n* Re-name var for checking if stdin is terminal\r\n\r\n* Remove unwanted inversion of further checks"
    },
    {
      "commit": "f738f5508c12fe5a9fae44bbdf07a94ddcf5030e",
      "tree": "ada1526b308a2740b21bd86283c888e761de2897",
      "parents": [
        "cfacd890221418a2dc2c736f7b5e3476c38709b1"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "alan@alandonovan.net",
        "time": "Wed Aug 17 18:02:28 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 17 18:02:28 2022"
      },
      "message": "Add dict|dict and dict|\u003ddict (#397)\n\n"
    },
    {
      "commit": "cfacd890221418a2dc2c736f7b5e3476c38709b1",
      "tree": "855aec4748892410fba53720d039bce59d5cdff8",
      "parents": [
        "e1b9ebd162dd36cd954208ce1f3d358f69461610"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "alan@alandonovan.net",
        "time": "Tue Aug 16 15:51:56 2022"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 16 15:51:56 2022"
      },
      "message": "starlark: fall back to slow Ints if mmap fails (#398)\n\nThe Int optimization uses a 4GB virtual address allocation to represent\r\n32-bit values as addressed to avoid allocation. However, some environments\r\nhave limited address space.\r\n\r\nThis change permits the mmap to fail, and in that case it prints a warning\r\nand falls back to always allocating a big.Int, even for small numbers.\r\nEach access to an Int must check the smallints global to see whether the\r\noptimization is active.  The extra dynamic check doesn\u0027t cost much:\r\n\r\n$ go test -run\u003dnope -bench\u003dBenchmarkStarlark -count\u003d3 ./starlark    # \u003e before, after\r\n$ go install golang.org/x/perf/cmd/benchstat@latest\r\n$ ~/go/bin/benchstat  before after\r\nname                                  old time/op  new time/op   delta\r\nStarlark/bench_bigint-16               206µs ± 0%    212µs ± 0%   ~     (p\u003d0.100 n\u003d3+3)\r\nStarlark/bench_builtin_method-16       283µs ± 1%    294µs ± 9%   ~     (p\u003d1.000 n\u003d3+3)\r\nStarlark/bench_calling-16              280µs ± 1%    290µs ± 1%   ~     (p\u003d0.100 n\u003d3+3)\r\nStarlark/bench_gauss-16               9.30ms ± 5%   9.55ms ± 2%   ~     (p\u003d0.700 n\u003d3+3)\r\nStarlark/bench_int-16                 53.7µs ± 1%   59.6µs ± 1%   ~     (p\u003d0.100 n\u003d3+3)\r\nStarlark/bench_mix-16                 99.3µs ± 1%  106.6µs ±10%   ~     (p\u003d0.100 n\u003d3+3)\r\nStarlark/bench_range_construction-16   238ns ± 1%    244ns ± 2%   ~     (p\u003d0.100 n\u003d3+3)\r\nStarlark/bench_range_iteration-16     5.44µs ± 2%   5.67µs ± 1%   ~     (p\u003d0.100 n\u003d3+3)\r\n\r\nAlso:\r\n- Add a linux-only test.\r\n- Simplify the build tags now that the 64-bit POSIX exceptions (iOS, openbsd)\r\n  are handled dynamically. As a side effect, M1-based Macs should get the optimization\r\n  for the first time. (Requires updating sys module.)\r\n- Update Actions tests to go1.18, 1.19, and drop 1.16 and 1.17.\r\n\r\nFixes #394\r\n\r\nCo-authored-by: Alan Donovan \u003cadonovan@google.com\u003e"
    }
  ],
  "next": "e1b9ebd162dd36cd954208ce1f3d358f69461610"
}
