)]}'
{
  "log": [
    {
      "commit": "ee8ed142361c69d52fe8e9fb5e311d2a0a7c02de",
      "tree": "14156783e07a4fe4117ad949f71f598905e63872",
      "parents": [
        "efac67204ba7e6cab3882b99502189a6632d7070"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Mar 13 22:21:50 2024 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 13 22:21:50 2024 -0400"
      },
      "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 14:08:35 2024 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 11 14:08:35 2024 -0400"
      },
      "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 15:08:23 2024 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Mar 07 15:08:23 2024 -0500"
      },
      "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 15:22:51 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 23 09:22:51 2024 -0500"
      },
      "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 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 21 10:53:37 2023 -0500"
      },
      "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": "Thu Nov 02 00:45:39 2023 +1100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 01 09:45:39 2023 -0400"
      },
      "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 15:48:36 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 16 09:48:36 2023 -0400"
      },
      "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 18:21:35 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 13 12:21:35 2023 -0400"
      },
      "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 18:37:45 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 25 12:37:45 2023 -0400"
      },
      "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 19:17:17 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 12:17:17 2023 -0400"
      },
      "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 19:14:29 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 12:14:29 2023 -0400"
      },
      "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 18:07:05 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 21 11:07:05 2023 -0400"
      },
      "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 06:56:51 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 12 09:56:51 2023 -0400"
      },
      "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": "Tue Sep 12 00:27:09 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 11 18:27:09 2023 -0400"
      },
      "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 23:10:29 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 31 11:10:29 2023 -0400"
      },
      "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 10:51:25 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 29 13:51:25 2023 -0400"
      },
      "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 10:54:27 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 14 10:54:27 2023 -0400"
      },
      "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 11:51:26 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 14 04:51:26 2023 -0400"
      },
      "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 10:40:10 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 07 10:40:10 2023 -0400"
      },
      "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 16:45:21 2023 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 31 19:45:21 2023 -0400"
      },
      "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 16:54:04 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 31 10:54:04 2023 -0400"
      },
      "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 12:47:10 2023 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 26 05:47:10 2023 -0400"
      },
      "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 12:14:58 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 25 12:14:58 2023 -0400"
      },
      "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 18:46:32 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 21 12:46:32 2023 -0400"
      },
      "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 17:31:41 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 18 11:31:41 2023 -0400"
      },
      "message": "Fixing name of mod builtin (#487)\n\n"
    },
    {
      "commit": "8a33432109769ebc6e0dfe32970ba9d71f96349a",
      "tree": "66d8fe1732159a152d848b964f8723b93c77f0e1",
      "parents": [
        "2226322290fcffc4176b19ea0f20b30dab376195"
      ],
      "author": {
        "name": "nozzy123nozzy",
        "email": "nozzy123nozzy@gmail.com",
        "time": "Tue Jul 18 00:06:57 2023 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 17 11:06:57 2023 -0400"
      },
      "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 19:36:30 2023 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 12 13:36:30 2023 -0400"
      },
      "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 12:53:44 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 12:53:44 2023 -0400"
      },
      "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 12:53:24 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 12:53:24 2023 -0400"
      },
      "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 12:53:09 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 12 12:53:09 2023 -0400"
      },
      "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 19:56:12 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 25 19:56:12 2023 -0400"
      },
      "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 14:37:08 2023 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 25 14:37:08 2023 -0400"
      },
      "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": "Wed Mar 01 19:41:42 2023 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 01 22:41:42 2023 -0500"
      },
      "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": "Mon Feb 27 19:26:50 2023 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 27 22:26:50 2023 -0500"
      },
      "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 15:14:52 2023 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 27 18:14:52 2023 -0500"
      },
      "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 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 24 10:11:20 2023 -0500"
      },
      "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 16:37:06 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 28 16:37:06 2023 -0500"
      },
      "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": "Sat Jan 21 23:07:57 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 21 23:07:57 2023 -0500"
      },
      "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 09:31:10 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 18 09:31:10 2023 -0500"
      },
      "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 15:49:46 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 12 09:49:46 2023 -0500"
      },
      "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 10:57:49 2023 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 10 10:57:49 2023 -0500"
      },
      "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 22:37:30 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 05 09:37:30 2023 -0500"
      },
      "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 15:31:15 2023 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 03 09:31:15 2023 -0500"
      },
      "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 19:07:19 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 05 13:07:19 2022 -0500"
      },
      "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 08:10:53 2022 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 05 11:10:53 2022 -0500"
      },
      "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 15:30:44 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 02 09:30:44 2022 -0500"
      },
      "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 21:44:45 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 01 15:44:45 2022 -0500"
      },
      "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 14:30:56 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 28 14:30:56 2022 -0400"
      },
      "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 14:14:52 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 28 14:14:52 2022 -0400"
      },
      "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 16:37:00 2022 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 20 10:37:00 2022 -0400"
      },
      "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 22:42:34 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 19 10:42:34 2022 -0400"
      },
      "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 22:08:40 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 10 10:08:40 2022 -0400"
      },
      "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 02:38:52 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 28 02:38:52 2022 -0400"
      },
      "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 15:50:19 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 26 10:50:19 2022 -0400"
      },
      "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 14:02:28 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 17 14:02:28 2022 -0400"
      },
      "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 11:51:56 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 16 11:51:56 2022 -0400"
      },
      "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"
    },
    {
      "commit": "e1b9ebd162dd36cd954208ce1f3d358f69461610",
      "tree": "82163a5054f42dcd03ce2127497c22076276acc3",
      "parents": [
        "e9e71af07d0c755d55dc6d57a280185267a30c50"
      ],
      "author": {
        "name": "Ankit Pati",
        "email": "contact@ankitpati.in",
        "time": "Mon Aug 15 16:54:29 2022 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 15 07:24:29 2022 -0400"
      },
      "message": "Fix build instructions for Go 1.18+ (#412)\n\nReference: https://golang.org/doc/go-get-install-deprecation"
    },
    {
      "commit": "e9e71af07d0c755d55dc6d57a280185267a30c50",
      "tree": "6c44537ce4e93a01c81ab405a642f418ccd6624f",
      "parents": [
        "064bc72f57572a2d362936fb76b689a26efd3d06"
      ],
      "author": {
        "name": "Berk D. Demir",
        "email": "11135+bdd@users.noreply.github.com",
        "time": "Mon Aug 15 04:06:52 2022 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 15 07:06:52 2022 -0400"
      },
      "message": "Fix \u0027math\u0027 tests to tolerate float imprecision (#409)\n\nThe `math.tan(math.pi / 4) \u003d\u003d 1` test and its negative pi counter part\r\nfails under arm64 architecture.\r\n\r\nUse `assert.true(near(...))` to tolerate float imprecision, like the\r\nother 8 instances in the same test data file.\r\n\r\nTested on 24 combinations of OS x arch x Go version.\r\n- {linux, darwin} x {arm64, amd64} x  go1.{16, 17, 18}"
    },
    {
      "commit": "064bc72f57572a2d362936fb76b689a26efd3d06",
      "tree": "e808983bcf282ccebb7822e4e155a82171d3cd04",
      "parents": [
        "4cadf0a12139373aab15f006c1c75da096181dd3"
      ],
      "author": {
        "name": "cui fliter",
        "email": "imcusg@gmail.com",
        "time": "Mon Aug 15 18:03:40 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 15 06:03:40 2022 -0400"
      },
      "message": "fix some typos (#415)\n\nSigned-off-by: cui fliter \u003cimcusg@gmail.com\u003e\r\n\r\nSigned-off-by: cui fliter \u003cimcusg@gmail.com\u003e"
    },
    {
      "commit": "4cadf0a12139373aab15f006c1c75da096181dd3",
      "tree": "bcd59c583e0490bd26aa8f6dd1813c7d58b6b465",
      "parents": [
        "d1966c6b9fcd6631f48f5155f47afcd7adcc78c2"
      ],
      "author": {
        "name": "Ryan Catherman",
        "email": "cheezypoofs@users.noreply.github.com",
        "time": "Thu Jul 14 15:44:19 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 14 15:44:19 2022 -0400"
      },
      "message": "Add a OnMaxSteps optional handler to Thread (#410) (#411)\n\n* Add a OnMaxSteps optional handler to Thread\r\n\r\nThis hook gives someone the ability to intercept and potentially\r\nchange the behavior when maxSteps is reached. The default behavior\r\nof canceling is preserved.\r\n\r\n* PR: change doc"
    },
    {
      "commit": "d1966c6b9fcd6631f48f5155f47afcd7adcc78c2",
      "tree": "0610be5f56a6ba207252bdcc25debb1d409809ba",
      "parents": [
        "5411bad688d12781515a91cc032645331b4fc302"
      ],
      "author": {
        "name": "aiuto",
        "email": "aiuto@google.com",
        "time": "Mon Mar 28 10:48:51 2022 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 28 10:48:51 2022 -0400"
      },
      "message": "Fix some typos. (#406)\n\nSorry for a pedantic PR. I\u0027m just tired of looking at messages\r\nfrom an overly zealous spell checking tool every time I try\r\nto pull an update into our source tree."
    },
    {
      "commit": "5411bad688d12781515a91cc032645331b4fc302",
      "tree": "242620d52a145901c7cebe050d1fc78bd1da1ba5",
      "parents": [
        "c8e9b32ba2fb0cd3f78dd181e71b013b093648ef"
      ],
      "author": {
        "name": "Edward McFarlane",
        "email": "3036610+emcfarlane@users.noreply.github.com",
        "time": "Wed Mar 02 18:15:46 2022 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 02 13:15:46 2022 -0500"
      },
      "message": "starlark: remove allocs on Dict ranges for dictsEqual and write (#402)\n\nDrops Items() range in favour of looking through the hashtable list\r\ndirectly. This avoids an allocation, added a benchmark to verify.\r\n\r\nOld:\r\nBenchmark/bench_dict_equal-4               18782             61652 ns/op           57344 B/op          2 allocs/op\r\n\r\nNew:\r\nBenchmark/bench_dict_equal-4               29802             39585 ns/op               0 B/op          0 allocs/op"
    },
    {
      "commit": "c8e9b32ba2fb0cd3f78dd181e71b013b093648ef",
      "tree": "ab7a0663fe21657bfef5fe033a67f5029d9daee0",
      "parents": [
        "243c74974e97462c5df21338e182470391748b04"
      ],
      "author": {
        "name": "abner.chen",
        "email": "chenguoqi@loongson.cn",
        "time": "Mon Feb 28 23:49:07 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 28 10:49:07 2022 -0500"
      },
      "message": "starlark: fix tests for loong64. (#399)\n\nSigned-off-by: Guoqi Chen \u003cchenguoqi@loongson.cn\u003e"
    },
    {
      "commit": "243c74974e97462c5df21338e182470391748b04",
      "tree": "8f3d47678c5ced240e5b5b471f835ced9b1563d9",
      "parents": [
        "c55a923347b1ca17cb609b1570187075c6bb911f"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "alan@alandonovan.net",
        "time": "Wed Feb 23 18:50:35 2022 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 23 18:50:35 2022 -0500"
      },
      "message": "Add strings.remove{pre,suf}fix methods (#395)\n\n* Add strings.remove{pre,suf}fix methods\r\n\r\n* Avoid constant 6"
    },
    {
      "commit": "c55a923347b1ca17cb609b1570187075c6bb911f",
      "tree": "ff0d5c47b4323dfc49eb92caeecd8c1dafbeac9f",
      "parents": [
        "bb14e151c28f3b5fc37e053cbe67bd70e9de5de0"
      ],
      "author": {
        "name": "Pierre Fenoll",
        "email": "pierrefenoll@gmail.com",
        "time": "Sun Feb 13 15:37:40 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Feb 13 09:37:40 2022 -0500"
      },
      "message": "Suggest keyword argument based on spelling in UnpackArgs (#393)\n\nUsers of tools such as Bazel and ours arguably edit mostly\r\nthe kwargs of functions the tool provides. Typos often slip\r\nthrough and spelling suggestion can save some headache.\r\n\r\nThis change may affect the message string of some errors.\r\n\r\nSigned-off-by: Pierre Fenoll \u003cpierrefenoll@gmail.com\u003e"
    },
    {
      "commit": "bb14e151c28f3b5fc37e053cbe67bd70e9de5de0",
      "tree": "3dc91451b5f74d51104984f1e592180fc3ecc1bd",
      "parents": [
        "70c0e40ae1287fd2c0aa43184b482838d8db051d"
      ],
      "author": {
        "name": "Pierre Fenoll",
        "email": "pierrefenoll@gmail.com",
        "time": "Fri Feb 04 00:07:14 2022 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 03 18:07:14 2022 -0500"
      },
      "message": "Expose CompareLimit variable, controlling recursion when comparing cyclic data. (#392)\n\nExposing this helps in two ways:\r\n1. Its value can be tuned by language implementers with the assurance that\r\n   no calls to Compare or Equal will slip through and use a different value.\r\n2. Language implementers can read this value to ensure upgrading this package\r\n   did not result in comparison semantics changing.\r\n\r\nNo behavioral changes emanate from this change.\r\n\r\nSigned-off-by: Pierre Fenoll \u003cpierrefenoll@gmail.com\u003e"
    },
    {
      "commit": "70c0e40ae1287fd2c0aa43184b482838d8db051d",
      "tree": "8a805113ffe7c383efa740592a05c17cda6ccb34",
      "parents": [
        "79238b790adeab5ff7463fdd27e097d61283cda2"
      ],
      "author": {
        "name": "Tetsuo Kiso",
        "email": "tetsuok@users.noreply.github.com",
        "time": "Fri Dec 03 23:19:49 2021 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 03 09:19:49 2021 -0500"
      },
      "message": "Fix the link to the Java implementation (#390)\n\n"
    },
    {
      "commit": "79238b790adeab5ff7463fdd27e097d61283cda2",
      "tree": "47773707ce96475bda444d41c095882ac97442e4",
      "parents": [
        "b0039bd2cfe369fe8f2bdba0614bafd1f9402dbb"
      ],
      "author": {
        "name": "Tetsuo Kiso",
        "email": "tetsuok@users.noreply.github.com",
        "time": "Fri Dec 03 14:11:02 2021 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 03 00:11:02 2021 -0500"
      },
      "message": "Fix broken link to Bazel\u0027s build language (#389)\n\n"
    },
    {
      "commit": "b0039bd2cfe369fe8f2bdba0614bafd1f9402dbb",
      "tree": "5263a06688e47cd40f4caa455ba093d92d55212b",
      "parents": [
        "87f333178d5942de51b193111d6f636c79833ea5"
      ],
      "author": {
        "name": "Nozomu Ohki",
        "email": "38576286+ohkinozomu@users.noreply.github.com",
        "time": "Thu Oct 14 03:59:44 2021 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 13 14:59:44 2021 -0400"
      },
      "message": "Remove remaining code about AllowLambda (#388)\n\n"
    },
    {
      "commit": "87f333178d5942de51b193111d6f636c79833ea5",
      "tree": "9b36a15105dcc6e3c767f79057548f8873694850",
      "parents": [
        "94adf23ac86a7f89d1b83662974445509c20c4f4"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@google.com",
        "time": "Wed Sep 01 14:27:18 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 01 14:27:18 2021 -0700"
      },
      "message": "Remove Travis CI configuration and replace README badge (#386)\n\nAlso update links from godoc.org to pkg.go.dev since we\u0027re here."
    },
    {
      "commit": "94adf23ac86a7f89d1b83662974445509c20c4f4",
      "tree": "795d92f84348ec013258f81ea158b5ede80294c8",
      "parents": [
        "d12bc23f31545e95bd086c9ea658d12e230c117a"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "alan@alandonovan.net",
        "time": "Tue Aug 31 16:58:50 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 31 13:58:50 2021 -0700"
      },
      "message": "avoid cross-package references in tests (#385)\n\nThe previous implementation of DataFile (which abstracts different build systems\u0027 ways of locating test data files) constructed file names of data files using $GOPATH; also, it used a cross-package reference to locate the assert.star file. This doesn\u0027t work under Go modules. Now, DataFile looks only in the current directory, and the assert.star file is moved into a constant section of the executable.\r\n\r\nAlso, fix tests historically broken on Mac/Windows due to diff and CR LF differences."
    },
    {
      "commit": "d12bc23f31545e95bd086c9ea658d12e230c117a",
      "tree": "b7b24f8d8c97cb22a30a1caa2ed5014586aa290e",
      "parents": [
        "f8c134c7738c66426b39f8bd92b9e30ea43fdf3c"
      ],
      "author": {
        "name": "Jay Conrod",
        "email": "jayconrod@google.com",
        "time": "Tue Aug 31 11:05:47 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 31 14:05:47 2021 -0400"
      },
      "message": "Add GitHub action for testing (#384)\n\nIt runs all tests and confirms go.mod and go.sum are tidy, just like\r\nthe Travis CI test.\r\n\r\nThe action runs with Go 1.16 and 1.17 on darwin, linux, and windows."
    },
    {
      "commit": "f8c134c7738c66426b39f8bd92b9e30ea43fdf3c",
      "tree": "2c76ef687dda32fa3e1196ae39f1e51e1269a84c",
      "parents": [
        "1cdb82c9e17a3e18b5067713955f174b08776f8b"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "alan@alandonovan.net",
        "time": "Tue Aug 31 11:39:15 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 31 11:39:15 2021 -0400"
      },
      "message": "starlark: disable int32 optimization on openbsd (#383)\n\n"
    },
    {
      "commit": "1cdb82c9e17a3e18b5067713955f174b08776f8b",
      "tree": "973f69f8d359bda6130bdf49f9fe55dd8a4b7787",
      "parents": [
        "cca21e7857d4c5fbbffe742c04f6f9c4e5d126a1"
      ],
      "author": {
        "name": "Alexandre Rostovtsev",
        "email": "tetromino@gentoo.org",
        "time": "Wed Jun 02 10:48:42 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 02 10:48:42 2021 -0400"
      },
      "message": "Add François-René Rideau (formerly tunes@google.com) to credits section (#368)\n\n* Add François-René Rideau (formerly tunes@google.com) to credits section\r\n\r\nHe implemented Starlark mutability/freezing in 2015.\r\n\r\n* Further credits updates suggested by Laurent and Damien\r\n\r\nQuoting @laurentlb:\r\n\r\n\u003e I think it\u0027s fair to add Alan Donovan too.\r\n\u003e Ulf and John didn\u0027t have much technical influence (as managers, they supported the project and made it possible, though)."
    },
    {
      "commit": "cca21e7857d4c5fbbffe742c04f6f9c4e5d126a1",
      "tree": "93d67d25627cb67469f14ac064c503986aa71c4f",
      "parents": [
        "e9428d69d599bdf9c963769e07749089a8324da3"
      ],
      "author": {
        "name": "Algebra8",
        "email": "milad.m.nasr@gmail.com",
        "time": "Tue May 11 08:38:48 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 11 11:38:48 2021 -0400"
      },
      "message": "Fix bug in math.ceil by returning integral instead of float (fixes #372) (#373)\n\n* Fix bug in math.ceil by returning integral instead of float\r\n\r\nPython\u0027s math.ceil function always returns a value\u0027s ceiling as an\r\nintegral, as can be seen in https://docs.python.org/3/library/math.html#math.ceil.\r\n\r\nThe previous iteration of Starlark\u0027s math.ceil, however, would always return a\r\nfloat, as a result of being wrapped in newUnaryBuiltin. Since ceil is different\r\nfrom the other wrapped methods, as described above, separate it in its own function.\r\n\r\nIt is worth noting that Python\u0027s math.ceil will also not accept non-finite values,\r\nsuch as nan, +inf, -inf and will return custom error messages for nan and infinities.\r\nThese are also handled in the new ceil function.\r\n\r\nFinally, tests are incorporated in testdata/math.star to reflect the changes\r\ndescribed above.\r\n\r\n* Move ceil function signature to one line\r\n\r\n* Prevent result of ceil from being lossy and abstract errors\r\n\r\nUnnecessary conversions were occuring due to immediately wrapping\r\nany input to ceil as a floatOrInt. By changing the expected input to accept\r\na starlark Value, an Int type can be returned immediately.\r\n\r\nAlso, MakeInt64 being called on the result of a float input could result in\r\nthe conversion of the result to be lossy. This is handled by abstracting the\r\nconversion with NumberToInt.\r\n\r\nNumberToInt also returns the exact error messages that were included previously,\r\nso it is not required to rewrite them.\r\n\r\n* Add test for float value larger than int64\r\n\r\n* Fix bugs with floor function returning floats\r\n\r\nThe bugs that affected Starlark\u0027s math.ceil also affect math.floor. Therefore,\r\na new floor function is introduced that handles those bugs. Note floor is similar\r\nto ceil except that it calls Go\u0027s Floor instead of Ceil.\r\n\r\n* Add tests to floor that represent fixes\r\n\r\n* Make float return one line\r\n\r\n* Make minor refactorings: join lines\r\n\r\n* Make minor refactorings: remove unnecessary comments\r\n\r\n* Derive float args for ceil and floor\r\n\r\n* Use bit shifting and same pattern for floor, ceil big float test"
    },
    {
      "commit": "e9428d69d599bdf9c963769e07749089a8324da3",
      "tree": "6ee5be18fc19784f262dbdc68bf9d8ebc04335b4",
      "parents": [
        "84642328b1f0a9af07209138793dd9fbf0f07bfe"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "alan@alandonovan.net",
        "time": "Fri May 07 11:28:41 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 07 11:28:41 2021 -0400"
      },
      "message": "float: a cleaner fix to issue #375 (#377)\n\nInstead of math.NextAfter, use a strict \u003c.\r\n\r\nFixes #375"
    },
    {
      "commit": "84642328b1f0a9af07209138793dd9fbf0f07bfe",
      "tree": "ddc986b98a212d01578449fae96af9954d02b82c",
      "parents": [
        "0c63ff3779a678bd8eaa341bc4b88c9d7462652a"
      ],
      "author": {
        "name": "Alan Donovan",
        "email": "alan@alandonovan.net",
        "time": "Wed May 05 23:45:41 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 05 23:45:41 2021 -0400"
      },
      "message": "fix overflow bug in finiteFloatToInt (#376)\n\n"
    },
    {
      "commit": "0c63ff3779a678bd8eaa341bc4b88c9d7462652a",
      "tree": "06f279055a958af5fa81bc98275e53397271e629",
      "parents": [
        "1607a96e3d727a2a095a1db686bf34fb885f4880"
      ],
      "author": {
        "name": "Algebra8",
        "email": "milad.m.nasr@gmail.com",
        "time": "Thu Apr 29 09:36:30 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 29 09:36:30 2021 -0400"
      },
      "message": "Fix type expressed in last example of specs\u0027 Floating-point numbers (fixes 370) (#371)\n\nAccording to the specs, aithmetic operations applied to a mixture of `float`\r\nand `int` operands should result in a `float` value. However, the example\r\n`3.0 // 2.0` had the value `1` commented beside it, which could imply\r\nthat its type is `int`. For clarity this mistake was fixed."
    },
    {
      "commit": "1607a96e3d727a2a095a1db686bf34fb885f4880",
      "tree": "f9ced44488c9e76c999957f6e81e85ef74d69100",
      "parents": [
        "7a1108eaa0124ea025e567d9feb4e41aab4bb024"
      ],
      "author": {
        "name": "Brendan O\u0027Brien",
        "email": "sparkle_pony_2000@qri.io",
        "time": "Fri Apr 16 10:24:53 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 16 10:24:53 2021 -0400"
      },
      "message": "refactor(json): move go.starlark.net/starlarkjson -\u003e go.starlark.net/lib/json (#367)\n\nand keep an alias package in place for backwards compatibility"
    },
    {
      "commit": "7a1108eaa0124ea025e567d9feb4e41aab4bb024",
      "tree": "7b46242002b41ee618ce371c1fdb3e73f8b4ff06",
      "parents": [
        "f54874d08d389e327e26ac38d36944d6a10e69ec"
      ],
      "author": {
        "name": "Pierre Fenoll",
        "email": "pierrefenoll@gmail.com",
        "time": "Tue Apr 06 16:56:28 2021 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 06 10:56:28 2021 -0400"
      },
      "message": "rename math.abs to math.fabs (fixes #362) and introduce `Universe[\"abs\"]` (#363)\n\n* rename math.abs to math.fabs (fixes #362)\r\n\r\nSigned-off-by: Pierre Fenoll \u003cpierrefenoll@gmail.com\u003e\r\n\r\n* implement abs\r\n\r\nSigned-off-by: Pierre Fenoll \u003cpierrefenoll@gmail.com\u003e\r\n\r\n* amend per PR review\r\n\r\nSigned-off-by: Pierre Fenoll \u003cpierrefenoll@gmail.com\u003e"
    },
    {
      "commit": "f54874d08d389e327e26ac38d36944d6a10e69ec",
      "tree": "715f474316b08d1f8cb065afc591db275e24b236",
      "parents": [
        "74c10e2c17dcdb1cd5ff8044e33d9338820db233"
      ],
      "author": {
        "name": "Nicolas Filotto",
        "email": "essobedo@users.noreply.github.com",
        "time": "Tue Apr 06 16:56:14 2021 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 06 10:56:14 2021 -0400"
      },
      "message": "Add support of timestamps in nanoseconds (#365)\n\n* Add support of timestamps in nanoseconds\r\n\r\n* Add a test for the function time.now()\r\n\r\n* Overload from_timestamp and improve the documentation\r\n\r\n* Improve the documentation of the time package"
    },
    {
      "commit": "74c10e2c17dcdb1cd5ff8044e33d9338820db233",
      "tree": "a68124038d3431664a1f84aa7567ca197c1f3c4e",
      "parents": [
        "6a590ae7f4eb794b39c06ccb65ccaf0b6538e248"
      ],
      "author": {
        "name": "Brendan O\u0027Brien",
        "email": "sparkle_pony_2000@qri.io",
        "time": "Fri Mar 12 18:52:12 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 12 18:52:12 2021 -0500"
      },
      "message": "add math module (#357)\n\n* add math module\r\n\r\n* math: Applied remarks\r\n\r\n* math: Applied remarks part 2\r\n\r\n* math: Applied remarks part 3\r\n\r\n* math: Applied remarks part 4\r\n\r\n* math: Add missing functions\r\n\r\n* math: Use a dedicated function for log\r\n\r\n* time: Inline the log function\r\n\r\nCo-authored-by: essobedo \u003cnicolas_filotto@ultimatesoftware.com\u003e"
    },
    {
      "commit": "6a590ae7f4eb794b39c06ccb65ccaf0b6538e248",
      "tree": "630e4365d3c76fcbef243316e12f2ae180a343bb",
      "parents": [
        "e043a3d3c98451e0840178bae34376e8204e576c"
      ],
      "author": {
        "name": "Brendan O\u0027Brien",
        "email": "sparkle_pony_2000@qri.io",
        "time": "Fri Mar 05 10:10:48 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 05 10:10:48 2021 -0500"
      },
      "message": "time: add time module (#327)\n\n* time: add time module\r\n\r\nSigned-off-by: b5 \u003csparkle_pony_2000@qri.io\u003e\r\n\r\n* time: adjust package API\r\n\r\nmove parsing functions:\r\n  time.time     -\u003e time.parse_time\r\n  time.duration -\u003e time.parse_duration\r\n\r\nmake `time.time` a constructor function that wraps golang\u0027s `time.Date`\r\n\r\nmake `time.duration` a constructor funciton that accepts a single param of type\r\nint, string, or duration\r\n\r\nrename time.fromtimestamp -\u003e time.from_timestamp\r\n\r\nmake time.time unit accessors fields instead of methods:\r\n  t.year() -\u003e t.year\r\n  t.month() -\u003e t.month\r\n  t.day() -\u003e t.day\r\n  t.hour() -\u003e t.hour\r\n  t.minute() -\u003e t.minute\r\n  t.second() -\u003e t.second\r\n  t.nanosecond() -\u003e t.nanosecond\r\n  t.unix() -\u003e t.unix\r\n  t.unix_nano() -\u003e t.unix_nano\r\n\r\nmake time.duration unit accessors fields instead of methods:\r\n  d.hours() -\u003e d.hours\r\n  d.minutes() -\u003e d.minutes\r\n  d.seconds() -\u003e d.seconds\r\n  d.nanoseconds() -\u003e d.nanoseconds\r\n\r\n* perf(time): don\u0027t allocate int on time \u0026 duration Hash methods\r\n\r\n* time: apply remarks\r\n\r\n* time: Use int64 instead of int as type of argument\r\n\r\n* time: Remove the file doc.go as it is not compliant with the current doc convention\r\n\r\n* time: Applied remarks\r\n\r\n* time: Applied remarks\r\n\r\n* time: Set the correct name of the functions\r\n\r\nCo-authored-by: essobedo \u003cnicolas_filotto@ultimatesoftware.com\u003e"
    },
    {
      "commit": "e043a3d3c98451e0840178bae34376e8204e576c",
      "tree": "c4be086cca4aa2e68ba596f39cfa13ba8caba8d5",
      "parents": [
        "0147c08d09e953952cf19815b9b1c6b0411e2580"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Tue Feb 23 10:59:50 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 23 10:59:50 2021 -0500"
      },
      "message": "starlark: fix uint32-\u003eint truncation on 386 (#353)\n\n"
    },
    {
      "commit": "0147c08d09e953952cf19815b9b1c6b0411e2580",
      "tree": "b2158d3674001a4319e3a1502cda92ff91e83183",
      "parents": [
        "6fe81738afc2b17f894e90bdcb200e27ef3f5828"
      ],
      "author": {
        "name": "Alexey Palazhchenko",
        "email": "alexey.palazhchenko@gmail.com",
        "time": "Tue Feb 23 00:27:54 2021 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 22 16:27:54 2021 -0500"
      },
      "message": "starlarkstruct: add missing words in description (#352)\n\n"
    },
    {
      "commit": "6fe81738afc2b17f894e90bdcb200e27ef3f5828",
      "tree": "666c4cf609e59dfa198fe43e99fdbbc7b26b4fd8",
      "parents": [
        "ebe61bd709bf23d7baddbb34e79084d7d156be04"
      ],
      "author": {
        "name": "Nick Santos",
        "email": "nicholas.j.santos@gmail.com",
        "time": "Mon Feb 22 12:52:23 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 22 12:52:23 2021 -0500"
      },
      "message": "starlark: Add \"??\" syntax for none-coalescing parameters to UnpackArgs. (#350)\n\n* starlark: Add \"??\" syntax for none-coalescing parameters to UnpackArgs.\r\n\r\nFixes https://github.com/google/starlark-go/issues/347\r\n\r\n* response to comments. Fixes https://github.com/google/starlark-go/issues/212"
    },
    {
      "commit": "ebe61bd709bf23d7baddbb34e79084d7d156be04",
      "tree": "2efd7da6ec6557b9aaed7932d19e07e1beade288",
      "parents": [
        "0a10e4fe7402e37a43d9b62c15bfeac1cd4ef272"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Fri Feb 12 16:57:32 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 12 16:57:32 2021 -0500"
      },
      "message": "starlark: add \u0027bytes\u0027 data type, for binary strings (#330)\n\nTHIS IS AN INCOMPATIBLE LANGUAGE CHANGE; see below\r\n\r\nThis change defines a \u0027bytes\u0027 data type, an immutable string of\r\nbytes. In this Go implementation of Starlark, ordinary strings\r\nare also strings of bytes, so the behavior of the two is very similar.\r\nHowever, that is not required by the spec. Other implementations of\r\nStarlark, notably in Java, may use strings of UTF-16 codes for the\r\nordinary string type, and thus need a distinct type for byte strings.\r\n\r\nSee testdata/bytes.star for a tour of the API, and some remaining\r\nquestions. See the attached issue for an outline of the proposed\r\nspec change. A Java implementation is underway, but is greatly\r\ncomplicated by Bazel\u0027s unfortunate misdecoding of UTF-8 files as\r\nLatin1.\r\n\r\nThe string.elems iterable view is now indexable.\r\n\r\nThe old syntax.quote function (which was in fact not used\r\nexcept in tests) has been replaced by syntax.Quote,\r\nwhich is similar to Go\u0027s strconv.Quote.\r\n\r\nThis change removes go.starlark.net.lib.proto.Bytes.\r\n\r\nIMPORTANT: string literals that previously used hex escapes\r\n\\xXX or octal escapes \\OOO to denote byte values greater than 127\r\nwill now result in a compile error advising you to use \\u\r\nescapes instead if you want the UTF-8 encoding of a code point\r\nin the range U+80 to U+FF. A string literal can no longer\r\ndenote invalid text, such as the 1-element string formerly\r\nwritten \"\\xff\".\r\n\r\nUpdates https://github.com/bazelbuild/starlark/issues/112\r\nFixes https://github.com/google/starlark-go/issues/222\r\n"
    },
    {
      "commit": "0a10e4fe7402e37a43d9b62c15bfeac1cd4ef272",
      "tree": "33fd5d4434befd04b6dcc7650f57896cbb992951",
      "parents": [
        "bc864be25151710e5d1c992993e31b5543e779e1"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Mon Feb 08 12:20:22 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 08 12:20:22 2021 -0500"
      },
      "message": "syntax: support setting initial line/col for scanner (#349)\n\nThe new FilePortion type, which may be provided to the scanner,\r\nparser, or ExecFile functions, combines a piece of text along\r\nwith its start line/column numbers, for applications that\r\nextract a Starlark expression from the middle of a larger file.\r\n\r\nFixes https://github.com/google/starlark-go/issues/346\r\n"
    },
    {
      "commit": "bc864be25151710e5d1c992993e31b5543e779e1",
      "tree": "36388a1e4c9c15eaf2dbc720fa7d173aa134eff6",
      "parents": [
        "28488fade247cf7c918bd994f16b1f38b4b7c5bc"
      ],
      "author": {
        "name": "Xùdōng Yáng",
        "email": "wyverald@gmail.com",
        "time": "Tue Jan 26 17:14:01 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 26 11:14:01 2021 -0500"
      },
      "message": "Remove an unused Thread in the sequential load example (#345)\n\n"
    },
    {
      "commit": "28488fade247cf7c918bd994f16b1f38b4b7c5bc",
      "tree": "4c307c96f043238b0374402784d61e27605e4988",
      "parents": [
        "f935de8d11ef317200abeff45a7448773dcfb717"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Mon Jan 25 14:35:08 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 25 14:35:08 2021 -0500"
      },
      "message": "starlark: fix bug in int(string, base\u003dint) (#344)\n\nPreviously, when int was called with an explicit base,\r\nit would report an error if the digit string starts\r\nwith a base prefix for a different base, such as int(\"0b101\", 16).\r\nNow, it uses the base prefix only if it matches the requested\r\nbase, so the example above would return 0x0b101, as would\r\nint(\"0x0b101\", 16).\r\n\r\nThe int(string, int) case has been split out for clarity.\r\n\r\nUpdate doc.\r\n\r\nFixes #337\r\n"
    },
    {
      "commit": "f935de8d11ef317200abeff45a7448773dcfb717",
      "tree": "1a642655e66f49e4d4a4e43887df4a150ed2f7a7",
      "parents": [
        "300301f1bd3a2e740eab5959c68cd545d653d018"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Fri Jan 22 14:46:13 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 22 14:46:13 2021 -0500"
      },
      "message": "testdata: s/blacklist/blocklist/g per Google policy (#343)\n\nSee https://www.adexchanger.com/data-driven-thinking/no-more-inflammatory-jargon-change-blacklist-to-blocklist/\r\n"
    },
    {
      "commit": "300301f1bd3a2e740eab5959c68cd545d653d018",
      "tree": "d6306b6956bda5e6055002f4e972f73bc5be7cfe",
      "parents": [
        "3921cb6f16f6b9ff340bc9feeaac31db99e18234"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Fri Jan 22 11:33:10 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 22 11:33:10 2021 -0500"
      },
      "message": "starlark: report \"uninitialized cell\" errors gracefully (#341)\n\nThe contents of a cell may be null, just like any other local.\r\nWe should report this as an error.\r\n\r\nSo that we can name the variable in the error message,\r\nwe change the instruction set so that LOCAL\u003clocal\u003e+CELL\r\nare combined into a single LOCALCELL\u003clocal\u003e instruction,\r\nand FREE\u003cfree\u003e+CELL become a single FREECELL\u003cfree\u003e instruction.\r\nFor symmetry we also combine LOCAL\u003clocal\u003e+SETCELL into SETLOCALCELL,\r\nthough it cannot fail. (Happily, all three changes are optimizations\r\npreviously described by TODO comments.)\r\n\r\nFixes #340\r\n"
    },
    {
      "commit": "3921cb6f16f6b9ff340bc9feeaac31db99e18234",
      "tree": "268e5d49c36c5ecaa239cf59fa04bc2495b49435",
      "parents": [
        "cea917ab6e0f5d6548d516f8c30e197d63db9baa"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Fri Jan 22 10:30:34 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 22 10:30:34 2021 -0500"
      },
      "message": "spec: remove more stale implementation notes (#342)\n\n"
    },
    {
      "commit": "cea917ab6e0f5d6548d516f8c30e197d63db9baa",
      "tree": "899c6a22cc01630d69f93cb014987daed5e98208",
      "parents": [
        "fb04d37e5d7fe9cdcc59adfcfd94d1863ac6cb38"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Thu Jan 21 17:58:09 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 21 17:58:09 2021 -0500"
      },
      "message": "resolver: make -nesteddef and -lambda always on (#328)\n\nSee https://github.com/bazelbuild/starlark/pull/145\r\nfor spec changes.\r\n\r\nUpdates https://github.com/bazelbuild/starlark/issues/20\r\n"
    },
    {
      "commit": "fb04d37e5d7fe9cdcc59adfcfd94d1863ac6cb38",
      "tree": "d796c40466bf0c253dea495adc0595b707da3829",
      "parents": [
        "73f535f109ef395b6b65c1161f74bc5ae9e6ae92"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Tue Jan 19 17:43:35 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 19 17:43:35 2021 -0500"
      },
      "message": "doc/spec.md: fix mistake regarding sign of x % y (#339)\n\nSee https://github.com/bazelbuild/starlark/issues/148\r\nfor change to Starlark spec.\r\n\r\nUpdates https://github.com/bazelbuild/starlark/issues/148\r\n"
    },
    {
      "commit": "73f535f109ef395b6b65c1161f74bc5ae9e6ae92",
      "tree": "4d245f69a579352c9640fc5646d0984e570e7e46",
      "parents": [
        "b6d3e7f4b0f5b20e6b08b4755a94ac7eab8981d0"
      ],
      "author": {
        "name": "James Johnson",
        "email": "63020180+jammiess@users.noreply.github.com",
        "time": "Tue Jan 19 11:24:22 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 19 11:24:22 2021 -0500"
      },
      "message": "Add functionality for parsing floats (#338)\n\n* Add functionality for parsing floats\r\n\r\n* Run gofmt on unpack.go\r\n\r\nCo-authored-by: James \u003cjjohnsonjj1251@gmail.com\u003e"
    },
    {
      "commit": "b6d3e7f4b0f5b20e6b08b4755a94ac7eab8981d0",
      "tree": "8d27b438c6083644d3bdb36261b5a664daa64ee4",
      "parents": [
        "8756d3ec17702f93b2d5e50e9ea6762f30bec167"
      ],
      "author": {
        "name": "Germán Fuentes Capella",
        "email": "47056480+gfcapella@users.noreply.github.com",
        "time": "Mon Jan 18 02:14:59 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 17 20:14:59 2021 -0500"
      },
      "message": "Fix: Immutability of Int is broken by BigInt method (#332) (#333)\n\n* Fix: Immutability of Int is broken by BigInt method (#332)\r\n\r\nThe interface of Int assumes the value is immutable but a reference to\r\nits content is leaked through the BigInt() method, which is mutable.\r\nThis fix resolves the leak by:\r\n- making a copy of the *big.Int in MakeBigInt()\r\n- returning a copy of the *big.Int content in BigInt()\r\n- creating an internal method bigInt() for internal use that still\r\nreturns reference to the internal big.Int\r\n\r\nFixes: #332\r\n\r\n* Fix: Immutability of Int is broken by BigInt method (#332)\r\n\r\nAddressing review comments regarding documentation\r\n\r\nFixes: #332"
    },
    {
      "commit": "8756d3ec17702f93b2d5e50e9ea6762f30bec167",
      "tree": "f40669476fbeaf36a0d22d0551334fe0ca73d2bf",
      "parents": [
        "e81fc95f7bd5bb1495fe69f27c1a99fcc77caa48"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Wed Jan 13 21:12:56 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 13 21:12:56 2021 -0500"
      },
      "message": "starlark: avoid constants \u003e 1\u003c\u003c32 in tests (#336)\n\n...so that they compile on 32-bit platforms like GOARCH\u003d386.\r\n"
    },
    {
      "commit": "e81fc95f7bd5bb1495fe69f27c1a99fcc77caa48",
      "tree": "5aa5dda2aa48090d5950003b2c62155db218a231",
      "parents": [
        "2627fba4fc2b78669bbd894da1058d31fc878b95"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Thu Dec 10 10:18:46 2020 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 10 10:18:46 2020 -0500"
      },
      "message": "starlark: add AsInt helper function for unpacking values to Go ints (#329)\n\nAlso, use it in Unpack* functions.\r\nThis is a minor breaking change: any call that assumed values\r\nunpacked to \u0027int\u0027 were always in the int32 range will need to be modified\r\nto handle possible int64 values.\r\n"
    },
    {
      "commit": "2627fba4fc2b78669bbd894da1058d31fc878b95",
      "tree": "ebab90a884b1dbe4bd7f790ecdf6f5d1d4dfd23a",
      "parents": [
        "42d4f566359b709c81d1fdb3af3c4a54e69905ea"
      ],
      "author": {
        "name": "alandonovan",
        "email": "adonovan@google.com",
        "time": "Tue Dec 08 15:17:25 2020 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 08 15:17:25 2020 -0500"
      },
      "message": "lib/proto: a Starlark package for protobuf processing (#318)\n\nThis change defines an optional Starlark module for encoding\r\nand decoding protocol buffers (https://developers.google.com/protocol-buffers/).\r\n\r\nIt adds a dependency on google.golang.org/protobuf.\r\n\r\nNo promises of API stability yet: there are a number of TODOs\r\nto be resolved and questions to be answered first, but I would\r\nlike to get this into the hands of the community. See discussion in\r\nhttps://github.com/stripe/skycfg/issues/23.\r\n\r\nFixes #309\r\n"
    }
  ],
  "next": "42d4f566359b709c81d1fdb3af3c4a54e69905ea"
}
