)]}'
{
  "log": [
    {
      "commit": "89aecb1e3c10373ea795f003268d7cd48c9ed431",
      "tree": "282ad6f785ab57fbe2a745e591d5eb9eba60c15f",
      "parents": [
        "a8575b7f7dee3e0aff1ae5b22124a8dc5629d775"
      ],
      "author": {
        "name": "Devon Carew",
        "email": "devoncarew@google.com",
        "time": "Tue Feb 04 15:09:25 2025 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 04 15:09:25 2025 -0800"
      },
      "message": "Update README.md (#161)\n\n"
    },
    {
      "commit": "a8575b7f7dee3e0aff1ae5b22124a8dc5629d775",
      "tree": "fd2528f37d41bda24c535df0ba8b39ab48926eff",
      "parents": [
        "1e13d2f0604d4e6ca7813a5bd572a90b75dbdc41"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Feb 04 16:56:33 2025 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 04 16:56:33 2025 +0100"
      },
      "message": "Update macros README. (#160)\n\n"
    },
    {
      "commit": "1e13d2f0604d4e6ca7813a5bd572a90b75dbdc41",
      "tree": "f647dade0434da71b61b76878751479526affa68",
      "parents": [
        "4c4adc14bec2b7d522ccb7b073efe99a47e0741a"
      ],
      "author": {
        "name": "Karol",
        "email": "karol.czeryna@gmail.com",
        "time": "Mon Dec 16 10:18:27 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 16 10:18:27 2024 +0100"
      },
      "message": "fix converting type annotations (#157)\n\n"
    },
    {
      "commit": "4c4adc14bec2b7d522ccb7b073efe99a47e0741a",
      "tree": "312021024294e7f4aafbec551640f40ef46f47cc",
      "parents": [
        "587ff2abc1dde0f11aff95125564281dacf23688"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Fri Dec 13 07:51:25 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 13 07:51:25 2024 -0800"
      },
      "message": "separate out benchmark into 4 stages: create, serialize, deserialize, hash (#154)\n\nAs mentioned in https://github.com/dart-lang/macros/pull/153. This gives us a better overall picture of where time is going, in the various modes.\r\n\r\nCurrent results:\r\n```\r\n        SdkMapsJsonWireBenchmark-create:  904ms\r\n      SdkMapsBufferWireBenchmark-create:  711ms\r\n     SdkMapsBuilderWireBenchmark-create:  713ms\r\n       LazyMapsJsonWireBenchmark-create:    0ms\r\n     LazyMapsBufferWireBenchmark-create:    0ms\r\n LazyWrappersBufferWireBenchmark-create:  420ms\r\n    BuilderMapsJsonWireBenchmark-create:  374ms\r\n BuilderMapsBuilderWireBenchmark-create:  379ms\r\n        SdkMapsJsonWireBenchmark-serialize:  746ms, 7177227 bytes\r\n      SdkMapsBufferWireBenchmark-serialize:  633ms, 5122684 bytes\r\n     SdkMapsBuilderWireBenchmark-serialize:  667ms, 4859868 bytes\r\n       LazyMapsJsonWireBenchmark-serialize: 1104ms, 7177227 bytes\r\n     LazyMapsBufferWireBenchmark-serialize:  543ms, 5122684 bytes\r\n LazyWrappersBufferWireBenchmark-serialize:    0ms, 2111761 bytes\r\n    BuilderMapsJsonWireBenchmark-serialize: 1028ms, 7177227 bytes\r\n BuilderMapsBuilderWireBenchmark-serialize:    0ms, 2111761 bytes\r\n        SdkMapsJsonWireBenchmark-deserialize: 1249ms\r\n      SdkMapsBufferWireBenchmark-deserialize:    0ms\r\n     SdkMapsBuilderWireBenchmark-deserialize:    0ms\r\n       LazyMapsJsonWireBenchmark-deserialize: 1298ms\r\n     LazyMapsBufferWireBenchmark-deserialize:    0ms\r\n LazyWrappersBufferWireBenchmark-deserialize:    0ms\r\n    BuilderMapsJsonWireBenchmark-deserialize: 1257ms\r\n BuilderMapsBuilderWireBenchmark-deserialize:    0ms\r\n        SdkMapsJsonWireBenchmark-process:  151ms, hash 23186292\r\n      SdkMapsBufferWireBenchmark-process:  249ms, hash 23186292\r\n     SdkMapsBuilderWireBenchmark-process:  541ms, hash 23186292\r\n       LazyMapsJsonWireBenchmark-process:  179ms, hash 23186292\r\n     LazyMapsBufferWireBenchmark-process:  251ms, hash 23186292\r\n LazyWrappersBufferWireBenchmark-process:  367ms, hash 23186292\r\n    BuilderMapsJsonWireBenchmark-process:  207ms, hash 23186292\r\n BuilderMapsBuilderWireBenchmark-process:  364ms, hash 23186292\r\n        SdkMapsJsonWireBenchmark-total: 3050ms\r\n      SdkMapsBufferWireBenchmark-total: 1593ms\r\n     SdkMapsBuilderWireBenchmark-total: 1921ms\r\n       LazyMapsJsonWireBenchmark-total: 2581ms\r\n     LazyMapsBufferWireBenchmark-total:  794ms\r\n LazyWrappersBufferWireBenchmark-total:  787ms\r\n    BuilderMapsJsonWireBenchmark-total: 2866ms\r\n BuilderMapsBuilderWireBenchmark-total:  743ms\r\n```"
    },
    {
      "commit": "587ff2abc1dde0f11aff95125564281dacf23688",
      "tree": "e6e940217a5000d6b194ef4c825dc5e6f5e51944",
      "parents": [
        "a88aa0b89574d6ed1e22a1701c7194b6b04ebe37"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Wed Dec 11 07:08:02 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 11 07:08:02 2024 -0800"
      },
      "message": "add benchmarks for normal Dart classes, serialized to JsonBuffers (#153)\n\n"
    },
    {
      "commit": "a88aa0b89574d6ed1e22a1701c7194b6b04ebe37",
      "tree": "38d130664e44cc66b53e63be514a0190b6cd9ead",
      "parents": [
        "debc16cd4cb5d3d5d40f8343c5a6092d7edcd8c7"
      ],
      "author": {
        "name": "Karol",
        "email": "karol.czeryna@gmail.com",
        "time": "Wed Dec 11 09:19:01 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 11 09:19:01 2024 +0100"
      },
      "message": "update tool/generate_* scripts and sync files generated by those scripts (#150)\n\n* update tool/generate_* scripts and sync files generated by those scripts\r\n\r\n* add double converter support, fix related tests\r\n\r\n* ensure only fields of types annotated with BuiltValue are nested builders\r\n\r\n* remove redundant import\r\n\r\n* fix typo, sync build_value test goldens"
    },
    {
      "commit": "debc16cd4cb5d3d5d40f8343c5a6092d7edcd8c7",
      "tree": "5045a84119b2debfb5255458167bc945fc99afbc",
      "parents": [
        "66baf8b8266d393d2034f02d898723e9318f3ab4"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Fri Dec 06 08:33:33 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 06 08:33:33 2024 -0800"
      },
      "message": "add benchmark for real wrapper classes around a JsonBuffer (#151)\n\nThis helps us to evaluate how much extension types are actually buying us, by benchmarking against thin wrappers around maps.\r\n\r\nThere are many advantages of real wrappers, such as type checks can actually work, and we can have many different implementations.\r\n\r\nI have a specific idea in mind here, which is that the analyzer/CFE could provide their own thin wrapper implementations of these types, which wrap the analyzer/CFE representations and implement lazy getters. This would potentially allow us to handle all the query filtering, by just lazily reading the properties we care about into a new (buffer based) representation of the object, based on the fields present in the query.\r\n\r\nResults are as follows:\r\n\r\n```\r\nSdkMapsJsonWireBenchmark: 1896ms, 7177227 bytes\r\n     SdkMapsBufferWireBenchmark: 1984ms, 5122684 bytes\r\n    SdkMapsBuilderWireBenchmark: 1631ms, 4859868 bytes\r\n      LazyMapsJsonWireBenchmark: 1099ms, 7177227 bytes\r\n    LazyMapsBufferWireBenchmark:  590ms, 5122684 bytes\r\nLazyWrappersBufferWireBenchmark:  424ms, 2111761 bytes\r\n   BuilderMapsJsonWireBenchmark: 1394ms, 7177227 bytes\r\nBuilderMapsBuilderWireBenchmark:  396ms, 2111761 bytes\r\n\r\n     ProcessSdkMapsJsonWireBenchmark:  161ms, hash 23186292\r\n  ProcessLazyMapsBufferWireBenchmark:  257ms, hash 23186292\r\nProcessLazyWrappersBufferWireBenchmark:  362ms, hash 23186292\r\nProcessBuilderMapsBuilderWireBenchmark:  356ms, hash 23186292\r\n```"
    },
    {
      "commit": "66baf8b8266d393d2034f02d898723e9318f3ab4",
      "tree": "2d5ee4d2bebc0ee4bfed5d3ac61d9a47493463ed",
      "parents": [
        "461311138dcc3b3e5a0314179370504ad12853eb"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Dec 03 12:02:53 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Dec 03 12:02:53 2024 +0100"
      },
      "message": "Extend benchmark generator to apply arbitrary macros to classes. (#146)\n\n"
    },
    {
      "commit": "461311138dcc3b3e5a0314179370504ad12853eb",
      "tree": "d1a7ca3f5a9ca1c98caa32edecc77fad578f413d",
      "parents": [
        "594abb297becfc707304113640c0c43d9e045226"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Dec 02 09:24:00 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 02 09:24:00 2024 +0100"
      },
      "message": "Bump dart-lang/setup-dart in the github-actions group (#149)\n\nBumps the github-actions group with 1 update: [dart-lang/setup-dart](https://github.com/dart-lang/setup-dart).\r\n\r\n\r\nUpdates `dart-lang/setup-dart` from 1.6.5 to 1.7.0\r\n- [Release notes](https://github.com/dart-lang/setup-dart/releases)\r\n- [Changelog](https://github.com/dart-lang/setup-dart/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/dart-lang/setup-dart/compare/0a8a0fc875eb934c15d08629302413c671d3f672...e630b99d28a3b71860378cafdc2a067c71107f94)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: dart-lang/setup-dart\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-minor\r\n  dependency-group: github-actions\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": "594abb297becfc707304113640c0c43d9e045226",
      "tree": "a2cb66f74220f4bb8bcdd7122f932f8e0793a238",
      "parents": [
        "bf0ff2c0772b78ee20bf4b14ca11df80bfa9470c"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Nov 25 16:46:45 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 25 16:46:45 2024 +0100"
      },
      "message": "Add built_value test macro fields. (#145)\n\n"
    },
    {
      "commit": "bf0ff2c0772b78ee20bf4b14ca11df80bfa9470c",
      "tree": "54eb9c4a1dc46ebfc3288d58c727ffb019d33cd9",
      "parents": [
        "e9b480a29c67e0e42e4d7865943a34b37bf01276"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Fri Nov 22 07:48:05 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 22 07:48:05 2024 -0800"
      },
      "message": "Use an MD5 hash instead of Object.hash for model hashes (#147)\n\nWe can easily swap out the actual hash algorithm here now, in one place.\r\n\r\nThis is a bit slower (unsurprisingly) than using `Object.hash` etc, a few hundred milliseconds in total per iteration, but is a fairer representation of what we actually want."
    },
    {
      "commit": "e9b480a29c67e0e42e4d7865943a34b37bf01276",
      "tree": "7994964e8ef6f99c870f273dc6ade7c325f49d01",
      "parents": [
        "7fa7e9df4ae3358877c7491144544eb51322e06d"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Nov 21 10:32:46 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 21 10:32:46 2024 +0100"
      },
      "message": "Add built_value test macro. (#144)\n\n* Add built_value test macro.\r\n\r\n* Address review comments."
    },
    {
      "commit": "7fa7e9df4ae3358877c7491144544eb51322e06d",
      "tree": "0d980af1a6978be8ff805b5aa36f53f4504b6f3d",
      "parents": [
        "7b15d59caaa07ac6ac9ebcb777d03a42ffd764f2"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Wed Nov 20 08:24:37 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 20 08:24:37 2024 -0800"
      },
      "message": "update gitignore, benchmark readme, and macro tool output (#143)\n\nSome small cleanup stuff:\r\n\r\n- Add macro tool output files to gitignore.\r\n- Update benchmark readme to use `dart run`.\r\n- log the total time to re-analyze from the macro_tool (I might be misunderstanding what this is trying to report though)."
    },
    {
      "commit": "7b15d59caaa07ac6ac9ebcb777d03a42ffd764f2",
      "tree": "1f456c92b2d9e6011ff276d8b6c785a82d7bb52d",
      "parents": [
        "2f6e859aea6bcb2f546fcdae40856c586cd37910"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Nov 19 17:17:33 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 19 17:17:33 2024 +0100"
      },
      "message": "Let the analyzer know which phases to run. (#142)\n\nUpdate to SDK version where the analyzer supports this."
    },
    {
      "commit": "2f6e859aea6bcb2f546fcdae40856c586cd37910",
      "tree": "43fccdeec918261f64000187d84ec77c60e9f5cb",
      "parents": [
        "b5ff382449c9b2b1e921354d76c4deff1deeed46"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Nov 12 20:52:26 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 12 20:52:26 2024 +0100"
      },
      "message": "Direct lookup in ClosedList. (#140)\n\n"
    },
    {
      "commit": "b5ff382449c9b2b1e921354d76c4deff1deeed46",
      "tree": "eb9d851ffcc3190cf36b559b6f18e6767216a530",
      "parents": [
        "28643f3fc148a60e6d91bffac2cf6e1c4e226458"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Nov 12 17:09:18 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 12 17:09:18 2024 +0100"
      },
      "message": "Bump SDK version. (#139)\n\nReformat to tall style.\r\n\r\nMinor fixes for CFE metadata model changes.\r\n\r\nUpdate `dart_style` version used by generator."
    },
    {
      "commit": "28643f3fc148a60e6d91bffac2cf6e1c4e226458",
      "tree": "bcb13af4d2042884b872519b56bb1fa741e3e7f2",
      "parents": [
        "9c1a4f35c792af26c859eeb2ba530cc6e31436f5"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Nov 11 17:06:17 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 11 17:06:17 2024 +0100"
      },
      "message": "Fix \"without macros\" benchmark: notify analyzer of new files. (#138)\n\n"
    },
    {
      "commit": "9c1a4f35c792af26c859eeb2ba530cc6e31436f5",
      "tree": "c769ee4c6f581df448014db106db2c5afe51a2a1",
      "parents": [
        "9026f9f0646482c554736a8b3db02159a00bec1e"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Nov 08 16:43:01 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 08 16:43:01 2024 +0100"
      },
      "message": "Fix benchmark generator workspace for \"dart run\". (#137)\n\n"
    },
    {
      "commit": "9026f9f0646482c554736a8b3db02159a00bec1e",
      "tree": "0ca34ab858dd837aeb9d1bec26587c9a8d74f34e",
      "parents": [
        "d1d9555146bff9b214761fa0c55fdec00e747957"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Nov 08 11:36:44 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 08 11:36:44 2024 +0100"
      },
      "message": "Improvements to macro_tool for benchmarking. (#135)\n\n* Improvements to macro_tool for benchmarking.\r\n\r\nSplit functionality into explicit \"commands\", add patching for analyzer for benchmarking as an alternative to patching for CFE for running, add benchmarking.\r\n\r\n* Address review comments.\r\n\r\n* Address review comments.\r\n\r\n* Fix path in e2e_tests.sh."
    },
    {
      "commit": "d1d9555146bff9b214761fa0c55fdec00e747957",
      "tree": "280942b86520fdfbe234a1f2de14b224678d0cd2",
      "parents": [
        "19dda73509314d637a309f20b16c29b47b48631a"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Thu Nov 07 13:39:40 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 07 13:39:40 2024 -0800"
      },
      "message": "Use Object.hash to hash raw bytes (#134)\n\nAvoids decoding values during hashing just to re-encode them as bytes to hash, when stored as raw bytes. Ultimately this mostly just applies to Strings, but that is still impactful. We also avoid a lot of type checks, instead doing switches based on the known or encoded types.\r\n\r\nFor now I am just using Object.hash and Object.hashAll but we could explore alternatives later on as well, although it would mean passing a byte sink around.\r\n\r\nThis drops the total time for the large benchmark another 10% ish on my machine."
    },
    {
      "commit": "19dda73509314d637a309f20b16c29b47b48631a",
      "tree": "7ce0563853a2717232bea9159b6ecfd9f3ffb50d",
      "parents": [
        "79bcca9c757971ac85373b6ab45f35c197bc6454"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Tue Nov 05 13:25:35 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 05 13:25:35 2024 -0800"
      },
      "message": "use a single hash for the combined query results (#133)\n\nAs discussed in our meeting today, this removes about a full second from the large benchmark example."
    },
    {
      "commit": "79bcca9c757971ac85373b6ab45f35c197bc6454",
      "tree": "4ab6e539ff46d397662cc735631f29308a5918dd",
      "parents": [
        "ce4733592839f61d0773f718c96fe1bd2549fbd4"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Tue Nov 05 09:11:12 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 05 09:11:12 2024 -0800"
      },
      "message": "Use cached results based on hash of query responses (#132)\n\nImplements caching into the MacroHost class. This is not necessarily the most efficient place to do it, but it is the most general place.\r\n\r\nAdds methods on QueryService to start and stop tracking queries. This will need to get more sophisticated later on, to support concurrent macros.\r\n\r\nCurrently, likely due to the poor performance of the hashing, this is essentially equivalent to no smart invalidation at all, maybe even slower by around 10%. As such we should consider whether or not we want to actually land this in its current state. I would probably lean towards landing it as is though, and then trying to iterate on faster hashing solutions afterwords."
    },
    {
      "commit": "ce4733592839f61d0773f718c96fe1bd2549fbd4",
      "tree": "cb12c47e87c6e49168371445ae501c13dc7fe041",
      "parents": [
        "178c59faae7b6d8a4c3542ff36987bb761a54ec9"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Fri Nov 01 10:03:51 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 01 10:03:51 2024 +0100"
      },
      "message": "Bump the github-actions group with 2 updates (#130)\n\nBumps the github-actions group with 2 updates: [actions/cache](https://github.com/actions/cache) and [actions/checkout](https://github.com/actions/checkout).\r\n\r\n\r\nUpdates `actions/cache` from 4.0.2 to 4.1.2\r\n- [Release notes](https://github.com/actions/cache/releases)\r\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\r\n- [Commits](https://github.com/actions/cache/compare/0c45773b623bea8c8e75f6c82b208c3cf94ea4f9...6849a6489940f00c2f30c0fb92c6274307ccb58a)\r\n\r\nUpdates `actions/checkout` from 4.2.0 to 4.2.2\r\n- [Release notes](https://github.com/actions/checkout/releases)\r\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/actions/checkout/compare/d632683dd7b4114ad314bca15554477dd762a938...11bd71901bbe5b1630ceea73d27597364c9af683)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/cache\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-minor\r\n  dependency-group: github-actions\r\n- dependency-name: actions/checkout\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-patch\r\n  dependency-group: github-actions\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": "178c59faae7b6d8a4c3542ff36987bb761a54ec9",
      "tree": "5b93eb7e7f28367696bc5befc23728b3b29684ee",
      "parents": [
        "65bf11d02a874fb8dc17a75c645d5c660031c192"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Oct 31 16:14:51 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 31 16:14:51 2024 +0100"
      },
      "message": "Add LiteralParams macro. (#128)\n\n* Add LiteralParams macro.\r\n\r\nFix converter for lists of union types.\r\n\r\n* Address review comments."
    },
    {
      "commit": "65bf11d02a874fb8dc17a75c645d5c660031c192",
      "tree": "d0b4484a0751e73bb9b800a00a0b6a55e047615f",
      "parents": [
        "cc966b7c1940178c8b67d7faefb20d496dc4fd40"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Thu Oct 31 01:28:57 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 31 09:28:57 2024 +0100"
      },
      "message": "update benchmark tool readme to use relative paths (#127)\n\n"
    },
    {
      "commit": "cc966b7c1940178c8b67d7faefb20d496dc4fd40",
      "tree": "4a3d1dd792a339a805494eceddb4d9bb07042973",
      "parents": [
        "be3def05d158ab1b4c9b68dfa3e52dce0a102e87"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Oct 30 16:26:25 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 16:26:25 2024 +0100"
      },
      "message": "Fix unused import, add benchmark_generator analysis to mono_pkg. (#125)\n\n"
    },
    {
      "commit": "be3def05d158ab1b4c9b68dfa3e52dce0a102e87",
      "tree": "79dc5c1f07602dee9445e0e81483a7504599ca4e",
      "parents": [
        "3dc2b8690828323dd5462ddcf13a28c32b225400"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Oct 30 16:12:43 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 30 16:12:43 2024 +0100"
      },
      "message": "Return macro metadata from analyzer. (#126)\n\n* Return macro metadata from analyzer.\r\n\r\n* Fix JSON by using converter correctly."
    },
    {
      "commit": "3dc2b8690828323dd5462ddcf13a28c32b225400",
      "tree": "1158f01348455cc4edca8e5834dfa89796e3433a",
      "parents": [
        "8f26ec59ec4cf32ea0cde41ee7c352452995087c"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Oct 29 21:44:44 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 21:44:44 2024 +0100"
      },
      "message": "Add benchmark_generator (#124)\n\n* Add benchmark generator.\r\n\r\n* Address review comments."
    },
    {
      "commit": "8f26ec59ec4cf32ea0cde41ee7c352452995087c",
      "tree": "83313b9fe5b9f57c6a61daf8413df475d74f940b",
      "parents": [
        "f160360bcee4c9fbbf4133b713017e3a550b72c5"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Tue Oct 29 07:12:18 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 07:12:18 2024 -0700"
      },
      "message": "Add support for definitions implementing other definitions (#121)\n\nTowards https://github.com/dart-lang/macros/issues/103\r\n\r\nAdds an `implements` list to `Definition.clazz`, which:\r\n\r\n- Replaces the default `implements Object` and instead lists all the implemented types (which transitively gives `Object`).\r\n- Adds all inherited properties and associated code to the constructors and schemas\r\n- Does not re-generate getters, these are inherited via `Implements`\r\n\r\nI also added a base type `Declaration` because it is both useful and also serves as an example usage.\r\n\r\nI think one good follow-up would be to add `is\u003cType\u003e` and `as\u003cType\u003e` getters to anything which is implemented by another type, for each of the types which implement it. We at least need some mechanism for down casting extension types to their known subtypes. One tricky part with that though is ideally we don\u0027t want to inherit those methods in the subtypes, because they won\u0027t all make sense?"
    },
    {
      "commit": "f160360bcee4c9fbbf4133b713017e3a550b72c5",
      "tree": "8a28970c508cd66285cc6c0909116c060d55bde1",
      "parents": [
        "5f5c9e1106bee6e4bc2f22977a831ac6c0e7258d"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Oct 29 09:36:12 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 29 09:36:12 2024 +0100"
      },
      "message": "Add an `analysis_server` binary with `dart_model` implementation injected (#120)\n\n* Add an `analysis_server` binary with `dart_model` implementation injected.\r\n\r\n* Address review comments, sort deps.\r\n\r\n* Revert unwanted change."
    },
    {
      "commit": "5f5c9e1106bee6e4bc2f22977a831ac6c0e7258d",
      "tree": "df475d6d7d15d00a20632e18e38138655190de2e",
      "parents": [
        "90d9129c2af9ce511ff82d4f1af836f1b15f2124"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Oct 28 16:35:45 2024 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 28 16:35:45 2024 +0100"
      },
      "message": "Remove json.dart and json_changes.dart. (#119)\n\n"
    },
    {
      "commit": "90d9129c2af9ce511ff82d4f1af836f1b15f2124",
      "tree": "0362790aac45d955d3931ca0c38448b6954c65a7",
      "parents": [
        "a3ab801acc447ff669fe091398a9e4482b090370"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Oct 25 18:05:42 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 25 18:05:42 2024 +0200"
      },
      "message": "Add macro metadata `dart_model` types and convert. (#118)\n\n"
    },
    {
      "commit": "a3ab801acc447ff669fe091398a9e4482b090370",
      "tree": "e0e0f99262f30710715362f87954e7d5e6aebec9",
      "parents": [
        "3bfd763073f925d03f34de5f51f85aca03b1b528"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Fri Oct 25 07:37:17 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 25 16:37:17 2024 +0200"
      },
      "message": "Add builder classes, make them the only parameter to macro methods (#115)\n\n* add builder classes, update macro classes to only accept those\r\n\r\n* add impls for the class builders\r\n\r\n* update macros, implement field and method builder\r\n\r\n* fix bugs such that JsonCodable works\r\n\r\n* fix line \u003e80 chars\r\n\r\n* make builder type generic on the target type\r\n\r\n* update TODO\r\n\r\n* allow all definition builders to augment metadata and doc comments\r\n\r\n* fix test expectations, as well as keyOf and getParent for LazyMergedMaps\r\n\r\n* add a hack for lists in the LazyMergedMapView\r\n\r\n* update macro_host_test expectations\r\n\r\n* update model tests, they now work for duplicate or re-used nodes, unsure if this is a good thing"
    },
    {
      "commit": "3bfd763073f925d03f34de5f51f85aca03b1b528",
      "tree": "a7d41c49fe3e78fc85bfc605f4e141dc2949782a",
      "parents": [
        "4d3f2864aae1a136b7fd38cae03bc7de0778525d"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Oct 25 09:21:09 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 25 09:21:09 2024 +0200"
      },
      "message": "Bump SDK version. (#116)\n\n"
    },
    {
      "commit": "4d3f2864aae1a136b7fd38cae03bc7de0778525d",
      "tree": "b964e5c75c1f22f4fd6b8ed0327d844b070a3420",
      "parents": [
        "0a2df876c084ca580b673b3ecec5bbf8f3d08fb6"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Oct 24 09:20:31 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 24 09:20:31 2024 +0200"
      },
      "message": "Extend typed_map to allow 9-16 fields. (#113)\n\n* Extend typed_map to allow 9-16 fields.\r\n\r\n* Address review comments."
    },
    {
      "commit": "0a2df876c084ca580b673b3ecec5bbf8f3d08fb6",
      "tree": "aefbc69134a3312c382ce0e03286ddc6240906c6",
      "parents": [
        "2ce8d778360d8c0d11c28a47e475f4a223296cfb"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Oct 23 19:26:37 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 23 10:26:37 2024 -0700"
      },
      "message": "Bump SDK version. (#114)\n\nDev release + more recent hash so we have `_fe_analyzer_shared` with the metadata parser."
    },
    {
      "commit": "2ce8d778360d8c0d11c28a47e475f4a223296cfb",
      "tree": "943cb32889873aaff274ffeaef109792fb7f7978",
      "parents": [
        "47b2e10eb24adc1e7dcdd6688c37cba31a61c8b0"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Tue Oct 22 09:06:31 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 22 09:06:31 2024 -0700"
      },
      "message": "fix addModel and add test, expose current model (#110)\n\nFollow up to https://github.com/dart-lang/macros/pull/105#discussion_r1810154444"
    },
    {
      "commit": "47b2e10eb24adc1e7dcdd6688c37cba31a61c8b0",
      "tree": "f6ef747c8cefc4691dced68de93a56e3fad6ba5f",
      "parents": [
        "44bc307baf7062fba506fc30fa2e607070dd4c2c"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Mon Oct 21 13:29:47 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 21 13:29:47 2024 -0700"
      },
      "message": "Add LazyMergedMap for merging Model objects (#105)\n\nClose https://github.com/dart-lang/macros/issues/102"
    },
    {
      "commit": "44bc307baf7062fba506fc30fa2e607070dd4c2c",
      "tree": "fef01fa965e097539a4caef0c21016cd585c5267",
      "parents": [
        "236ed3d4c9eddb84c1a04cf719ee7b526f3beb2b"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Mon Oct 21 09:39:32 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 21 09:39:32 2024 -0700"
      },
      "message": "add scope and isStatic to QualifiedName, as well as parsing and a URI format (#101)\n\nCloses https://github.com/dart-lang/macros/issues/96, I think for libraries we will want just a Uri essentially, since they aren\u0027t first class objects in Dart, you can\u0027t refer directly to them."
    },
    {
      "commit": "236ed3d4c9eddb84c1a04cf719ee7b526f3beb2b",
      "tree": "1f8d9e0e2c21fa4c96849d9c1f6df21ed11f56ea",
      "parents": [
        "18c0ffb2ae326edac38fbd06b06e4fce3296b925"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Mon Oct 21 09:28:06 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 21 09:28:06 2024 -0700"
      },
      "message": "Pass target model in AugmentRequest (#104)\n\nCloses https://github.com/dart-lang/macros/issues/100\r\n\r\n- Adds `model` field to AugmentRequest, with implementations to pass it (although, these use a host side query).\r\n  - Expose the `hostService` from the `MacroHost` (used to do the query)\r\n- Adds a `Model` parameter to all macro methods (typed as `Object` for right now for most of them, as we don\u0027t have better types yet).\r\n- Make all fields on AugmentRequest required (this simplified implementations, but lmk if you want me to revert this).\r\n- Rename the `Model.qualifiedNameOfMember` extension to `qualifiedNameOf` generalizing and fixing it:\r\n  -  Now it actually does what it says 🤣 (it used to return just the qualified name of the type the member is declared in I think?), there was in any case no way to represent members with qualified names, see https://github.com/dart-lang/macros/pull/101 which adds that.\r\n  - It now throws for anything other than types, since they can\u0027t be referenced\r\n  - It just accepts a `Map\u003cString, Object?\u003e` now which is the only thing we can generalize on for the moment, but see https://github.com/dart-lang/macros/issues/103 for one possible workaround.\r\n- Fixes up tests and removes expected request/response from the client for the model"
    },
    {
      "commit": "18c0ffb2ae326edac38fbd06b06e4fce3296b925",
      "tree": "cff7232be2065011062c3692d27097149f0fc274",
      "parents": [
        "54e85a3581b3044d3bc5f90c8c4ac32735143f28"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Mon Oct 21 08:01:23 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 21 08:01:23 2024 -0700"
      },
      "message": "Make AugmentResponse more like MacroExecutionResult (#106)\n\nIn preparation for adding builder types, and making `AugmentResponse` not visible in the macro APIs any more.\r\n\r\nWill do that after https://github.com/dart-lang/macros/pull/104 is also merged, as we really need both."
    },
    {
      "commit": "54e85a3581b3044d3bc5f90c8c4ac32735143f28",
      "tree": "ee6699cdd9e2d22ff299365add613383fce94ff1",
      "parents": [
        "29f3b3c7c17f6cf6ad807a2a09f67d889182bc09"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Mon Oct 21 01:53:24 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 21 10:53:24 2024 +0200"
      },
      "message": "set tcpNoDelay option on all sockets for 100x speedup (#109)\n\n"
    },
    {
      "commit": "29f3b3c7c17f6cf6ad807a2a09f67d889182bc09",
      "tree": "57c6f4c1eff039a322f574c6a78c3596a0777964",
      "parents": [
        "a4822883ce98292173923b07288d1b182894781b"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Mon Oct 21 01:52:05 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 21 10:52:05 2024 +0200"
      },
      "message": "add readme with instructions to the _macro_tool (#107)\n\n"
    },
    {
      "commit": "a4822883ce98292173923b07288d1b182894781b",
      "tree": "b46eac628b6d9b9178b71ac5380664e48b7f0f84",
      "parents": [
        "23d034cbbfa82600d9e47b8cec567e88d25e6539"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Oct 11 16:56:48 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 11 16:56:48 2024 +0200"
      },
      "message": "Add --watch to _macro_tool for analyzer. (#99)\n\n"
    },
    {
      "commit": "23d034cbbfa82600d9e47b8cec567e88d25e6539",
      "tree": "18e6e3d32d7fb057e4715564cb30648832738325",
      "parents": [
        "6de286922ea2aa3802807d380ae57ad89c17c6e2"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Oct 11 16:56:33 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 11 16:56:33 2024 +0200"
      },
      "message": "Explain why generated code treats Map fields differently. (#98)\n\n"
    },
    {
      "commit": "6de286922ea2aa3802807d380ae57ad89c17c6e2",
      "tree": "207045d2da8290519f718f48d66ad40cba5c908b",
      "parents": [
        "b13df4bd5f1d1236875d6374a67e54593e105075"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Fri Oct 11 07:43:59 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 11 07:43:59 2024 -0700"
      },
      "message": "add specific macro implementations and delegate to them (#97)\n\nPart of https://github.com/dart-lang/macros/issues/91\r\n\r\nSending this out a bit early - this is I think the smallest chunk I could tackle independently, but it would be nice to get a review before you leave.\r\n\r\nThe next step would be passing the actual target through to the macro api, probably instead of the AugmentRequest. "
    },
    {
      "commit": "b13df4bd5f1d1236875d6374a67e54593e105075",
      "tree": "9810020eb56a39f57736fdf7ce9edad72271d871",
      "parents": [
        "87ce3dc2a7d169e310473a78a172d23e9c0bf089"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Fri Oct 11 00:21:19 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 11 09:21:19 2024 +0200"
      },
      "message": "Add support for deep collection casting in the generator (#95)\n\n* add support for deep casting nested collection types in the generator\r\n\r\n* add deep cast test\r\n\r\n* regenerate"
    },
    {
      "commit": "87ce3dc2a7d169e310473a78a172d23e9c0bf089",
      "tree": "30f0e3e8a75453a371c4b16c557f7f8c432abde4",
      "parents": [
        "d306c9bf5eb3424257b06395544487aff540ddd4"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Oct 10 11:51:11 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 10 11:51:11 2024 +0200"
      },
      "message": "@JsonCodable() supports super toJson and fromJson. (#89)\n\n* @JsonCodable() supports super toJson and fromJson.\r\n\r\n* Address review comments.\r\n\r\n* Fix a typo.\r\n\r\n* Fix compile."
    },
    {
      "commit": "d306c9bf5eb3424257b06395544487aff540ddd4",
      "tree": "bb4795ac4aadbbd75ebbb246d13349c7e5f4c68d",
      "parents": [
        "8c4b89ef7ea0c9b3379c3b9da249504adb163f6b"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Oct 10 10:48:11 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 10 10:48:11 2024 +0200"
      },
      "message": "Add Model.qualifiedNameOfMember, add fast way to find the path to JsonBufferBuilder (#87)\n\n* Add Model.pathToMember, add fast way to find the path to JsonBufferBuilder.\r\n\r\n* Address review comments.\r\n\r\n* Address review comments."
    },
    {
      "commit": "8c4b89ef7ea0c9b3379c3b9da249504adb163f6b",
      "tree": "4bb3ac31afc794051d328df545f6848dd71b21fe",
      "parents": [
        "acb90e6f9f3a6ebe8d262dffe3ad8d6b4944cad1"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Oct 10 10:09:27 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 10 10:09:27 2024 +0200"
      },
      "message": "Move templating to the client side. (#76)\n\n* Move templating to the client side.\r\n\r\n* Address review comments.\r\n\r\n* Update expected JSON.\r\n\r\n* Address review comments.\r\n\r\n* Address review comments."
    },
    {
      "commit": "acb90e6f9f3a6ebe8d262dffe3ad8d6b4944cad1",
      "tree": "85b4c1fb270df389bbca0398b145677845734385",
      "parents": [
        "a3a5ec0591acf8f4902318afd35cd9b1a3eeed6e"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Oct 09 16:24:32 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 09 16:24:32 2024 +0200"
      },
      "message": "Add CFE support to `_macro_tool`. (#90)\n\n* Add CFE support to `_macro_tool`.\r\n\r\n* Address review comments."
    },
    {
      "commit": "a3a5ec0591acf8f4902318afd35cd9b1a3eeed6e",
      "tree": "f27618ff07cbc86febfff06bbea32eb4942deba2",
      "parents": [
        "a0c9af92818df24659daf1d5907f2e7fcbf469e2"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Oct 08 09:38:55 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 08 09:38:55 2024 +0200"
      },
      "message": "Copy in exact test from `package:json` @JsonCodable. (#82)\n\nFixes to `dart_model` @JsonCodable, workaround for CFE issue.\r\n\r\nAdd e2e test."
    },
    {
      "commit": "a0c9af92818df24659daf1d5907f2e7fcbf469e2",
      "tree": "43319a744ad2bac615d7c4338a2d9b12ac6d4398",
      "parents": [
        "da87307a570aa2b452971f1e8aed9ceed4de016c"
      ],
      "author": {
        "name": "Simon Binder",
        "email": "oss@simonbinder.eu",
        "time": "Thu Oct 03 09:12:30 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 03 09:12:30 2024 +0200"
      },
      "message": "Push resolved model into macro scope (#81)\n\n* Push resolved model into macro scope\r\n\r\n* Review feedback"
    },
    {
      "commit": "da87307a570aa2b452971f1e8aed9ceed4de016c",
      "tree": "283b2cd0d518a050098c68892a44f7caa5a71b49",
      "parents": [
        "f4dcfdda44843510838e0c80cf5ee8ba7b43dd40"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Oct 01 17:26:22 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 01 17:26:22 2024 +0200"
      },
      "message": "Bump SDK version. (#78)\n\n* Bump SDK version.\r\n\r\n* Fixes for new SDK version."
    },
    {
      "commit": "f4dcfdda44843510838e0c80cf5ee8ba7b43dd40",
      "tree": "ce0c5ad7449f57b2ae0c6ba454bc94889db953c1",
      "parents": [
        "b2f9ab1ad79af6392dfa720ce7dfc3ea0b184bee"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Oct 01 11:01:24 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 01 11:01:24 2024 +0200"
      },
      "message": "Bump actions/checkout from 4.1.7 to 4.2.0 in the github-actions group (#77)\n\nBumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).\r\n\r\n\r\nUpdates `actions/checkout` from 4.1.7 to 4.2.0\r\n- [Release notes](https://github.com/actions/checkout/releases)\r\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/actions/checkout/compare/692973e3d937129bcbf40652eb9f2f61becf3332...d632683dd7b4114ad314bca15554477dd762a938)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/checkout\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-minor\r\n  dependency-group: github-actions\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": "b2f9ab1ad79af6392dfa720ce7dfc3ea0b184bee",
      "tree": "2f579982fb0f62129c13e064e1bcc4ff3a1de199",
      "parents": [
        "29bb1cff98809721f5e729d0e0bbef4ddc60a503"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Oct 01 10:12:46 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 01 10:12:46 2024 +0200"
      },
      "message": "Add \"macro tool\" for running code with macros applied (#74)\n\n* Add _macro_tool.\r\n\r\n* Address review comments."
    },
    {
      "commit": "29bb1cff98809721f5e729d0e0bbef4ddc60a503",
      "tree": "aba0e70f0dbf5c064cc30a9d308d31eec8752fc1",
      "parents": [
        "20c1bf113d403f27e1427245a8e8d53e1f358715"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Oct 01 09:14:40 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 01 09:14:40 2024 +0200"
      },
      "message": "Fixes to @JsonCodable. (#75)\n\n* Fixes to @JsonCodable.\r\n\r\n* Additional fix, and fix phases.\r\n\r\n* Update goldens."
    },
    {
      "commit": "20c1bf113d403f27e1427245a8e8d53e1f358715",
      "tree": "3b5723e4fbc01f761142236017302b34cb16b4d0",
      "parents": [
        "98bd19703db97728f73ee23a59626761cc88ec7e"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Sep 27 12:24:52 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 27 12:24:52 2024 +0200"
      },
      "message": "Remove an unnecessary indirection in the binary format. (#66)\n\n"
    },
    {
      "commit": "98bd19703db97728f73ee23a59626761cc88ec7e",
      "tree": "a472793aebef49e04e81ffa9a55239c5f11aee06",
      "parents": [
        "8903e770a5c2cc33f27d5db9017ceb8791463fbf"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Sep 27 12:19:00 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 27 12:19:00 2024 +0200"
      },
      "message": "Add a first JSON macro based on package:json/json.dart. (#68)\n\n* Add a first JSON macro based on package:json/json.dart.\r\n\r\n* Address review comments.\r\n\r\n* Dartfmt."
    },
    {
      "commit": "8903e770a5c2cc33f27d5db9017ceb8791463fbf",
      "tree": "d63675d868ba33db4c75226dfd04230d1ae3ee0d",
      "parents": [
        "5c53968d86b3f0197659dd3bdacee40ee4425a54"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Sep 27 11:13:56 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 27 11:13:56 2024 +0200"
      },
      "message": "Add handshake to determine wire encoding and protocol. (#69)\n\n"
    },
    {
      "commit": "5c53968d86b3f0197659dd3bdacee40ee4425a54",
      "tree": "44363c21e67eae62a3dee890c63cf9bfb82c52d0",
      "parents": [
        "50996c1c8bbdeb5a0139cd5e7177f1b9c55ade74"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Sep 10 19:30:20 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 10 19:30:20 2024 +0200"
      },
      "message": "Make QualifiedName a class type with uri and name fields. (#60)\n\n* Make QualifiedName a class type with uri and name fields.\r\n\r\n* Fixes issues after merge."
    },
    {
      "commit": "50996c1c8bbdeb5a0139cd5e7177f1b9c55ade74",
      "tree": "bb2c1c57b14d41b6b77ed63b14e727ad4d3bb6a6",
      "parents": [
        "58c0c50317f92e5d10759033a289bf9f23a359e3"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Sep 10 18:41:06 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 10 18:41:06 2024 +0200"
      },
      "message": "Move JsonBuffer into benchmark. (#62)\n\n"
    },
    {
      "commit": "58c0c50317f92e5d10759033a289bf9f23a359e3",
      "tree": "0df2aa98b6ae79b6df8f10181adea1e34e054c5a",
      "parents": [
        "e95d7db11e6feab9fe87a1b7558b6ba80d7d0faa"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Sep 10 18:11:06 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 10 18:11:06 2024 +0200"
      },
      "message": "Resolve TODOs around multiple macros, when to run macros. (#64)\n\n* Resolve TODOs around multiple macros, multiple requests, macro lifecycles.\r\n\r\n* Address review comments.\r\n\r\n* Add note about 5s timeout."
    },
    {
      "commit": "e95d7db11e6feab9fe87a1b7558b6ba80d7d0faa",
      "tree": "d4dcb226f5fda3a32a6b1d052c65b91f0b577d06",
      "parents": [
        "0c22dbf46a53ccb1fbb86fd1688263932d02bd42"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Sep 10 17:47:20 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 10 17:47:20 2024 +0200"
      },
      "message": "Extend golden tests to optionally cover augmentations. (#67)\n\n* Extend golden tests to optionally cover augmentations.\r\n\r\n* Address review comments."
    },
    {
      "commit": "0c22dbf46a53ccb1fbb86fd1688263932d02bd42",
      "tree": "edb1d200617e5c48f07372ab472410619fa75593",
      "parents": [
        "b93426a3f71867688b76e3a17d8c52f040fb5447"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Sep 10 09:05:36 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 10 09:05:36 2024 +0200"
      },
      "message": "Add generation of enums, use an enum for ProtocolEncoding. (#61)\n\n"
    },
    {
      "commit": "b93426a3f71867688b76e3a17d8c52f040fb5447",
      "tree": "236c02f57fc88f87fdbf1919e91e128774de9c49",
      "parents": [
        "abc4def9a1389238316f17b318e88e530912f229"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Sep 09 17:35:40 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 09 17:35:40 2024 +0200"
      },
      "message": "Run `dart_model` tests with extra checks enabled. (#63)\n\n* Run `dart_model` tests with extra checks enabled. Fix the bug it catches.\r\n\r\n* Update pkgs/dart_model/mono_pkg.yaml\r\n\r\nCo-authored-by: Jacob MacDonald \u003cjakemac@google.com\u003e\r\n\r\n* Regenerate mono_repo.\r\n\r\n---------\r\n\r\nCo-authored-by: Jacob MacDonald \u003cjakemac@google.com\u003e"
    },
    {
      "commit": "abc4def9a1389238316f17b318e88e530912f229",
      "tree": "1e34a7d94d8820d1c9e43915a716747ac0bdb736",
      "parents": [
        "17dd9197a6260fa26acd5f3146c97d7344c8e83d"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Sep 06 11:07:39 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 06 11:07:39 2024 +0200"
      },
      "message": "Add scope, update generation to use them. (#58)\n\n* Add scopes, update generation to use them.\r\n\r\nThis allows query responses and augmentations to be written directly to a buffer on creating, while other (less performance critical) types are created as before.\r\n\r\nSlightly extend JsonBufferBuilder to support it: add anyPointer type, add copying of typed and growable maps created in other buffers.\r\n\r\n* Address review comments."
    },
    {
      "commit": "17dd9197a6260fa26acd5f3146c97d7344c8e83d",
      "tree": "90c1e6e20350469c0ed2d93cc191a289e48de765",
      "parents": [
        "273ebf382d6b76cc4f342845ee6dbed1fe9cadeb"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Sep 05 16:40:31 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 05 16:40:31 2024 +0200"
      },
      "message": "Bump SDK version. (#59)\n\n"
    },
    {
      "commit": "273ebf382d6b76cc4f342845ee6dbed1fe9cadeb",
      "tree": "825d73965df00752b7e4b06f10cbc977b1a7c7f6",
      "parents": [
        "6fc4d7f9b803020bcc172c564fb6ef75cd73ec0b"
      ],
      "author": {
        "name": "Simon Binder",
        "email": "oss@simonbinder.eu",
        "time": "Wed Sep 04 14:08:37 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 04 14:08:37 2024 +0200"
      },
      "message": "Support nullable definitions in schema (#57)\n\n"
    },
    {
      "commit": "6fc4d7f9b803020bcc172c564fb6ef75cd73ec0b",
      "tree": "9ffa4be9d491a2bc9922fe0d5d16b24aa577d1cf",
      "parents": [
        "0261a1dd7b3ecfe3f3f2ac9862526eaff245af22"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Sep 04 10:34:24 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Sep 04 10:34:24 2024 +0200"
      },
      "message": "Define the JSON types in Dart code instead of with a schema. (#55)\n\n* Define the JSON types in Dart code instead of with a schema.\r\n\r\nThen generate both schema and code.\r\n\r\nThis makes it more precise what we are generating, particularly for concepts like unions that are not native to JSON.\r\n\r\n* Address review comments."
    },
    {
      "commit": "0261a1dd7b3ecfe3f3f2ac9862526eaff245af22",
      "tree": "0ac4c907efbd008da746a221d4307c2e0d86244b",
      "parents": [
        "24f72b13b4d014429f0c613393411e8b723f5c50"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Sep 03 16:40:05 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 03 16:40:05 2024 +0200"
      },
      "message": "Move dart_model design doc from language repo. (#54)\n\n"
    },
    {
      "commit": "24f72b13b4d014429f0c613393411e8b723f5c50",
      "tree": "25257cfac4ddb22c8b40ba9dd82524e74240791a",
      "parents": [
        "2bf45de8b26e87c82ad43c92293316fa0312a780"
      ],
      "author": {
        "name": "Simon Binder",
        "email": "oss@simonbinder.eu",
        "time": "Mon Sep 02 15:33:43 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Sep 02 15:33:43 2024 +0200"
      },
      "message": "WIP: Add static type system (#37)\n\n* Add static type system\r\n\r\n* Make type system use model\r\n\r\n* Deserialize interface types\r\n\r\n* Analyzer: Include type hierarchy in model\r\n\r\n* Add simple tests\r\n\r\n* Add documentation comments to static types\r\n\r\n* Add CFE implementation\r\n\r\n* Fix analysis warnings"
    },
    {
      "commit": "2bf45de8b26e87c82ad43c92293316fa0312a780",
      "tree": "29c589f9332934f0b062e8153cb02978cf852290",
      "parents": [
        "1c22876a9b9bac1dc737529fd0a0a60c2cba02ff"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Aug 30 11:06:16 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 30 11:06:16 2024 +0200"
      },
      "message": "Json benchmarks (#52)\n\n* Add benchmarks for JsonBuffer, JsonBufferBuilder, SDK maps and standard JSON.\r\n\r\n* Address review comments.\r\n\r\n* Remove unused import."
    },
    {
      "commit": "1c22876a9b9bac1dc737529fd0a0a60c2cba02ff",
      "tree": "68e30cc7a457b0945842cff96c18594b1037ee25",
      "parents": [
        "66dc6a54b3ccfce68ea807d049d2fc2f510df82b"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Aug 29 11:06:17 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 29 11:06:17 2024 +0200"
      },
      "message": "Add closed list, use JsonBufferBuilder instead of JsonBuffer end to end. (#53)\n\nThis is still copying into JsonBufferBuilder, pending update of codegen and response creation code."
    },
    {
      "commit": "66dc6a54b3ccfce68ea807d049d2fc2f510df82b",
      "tree": "949b94fcf20478844ab6f1a7cfd17b583106523b",
      "parents": [
        "c5aa91652ceeff8ea71df9f51435e4b01add7297"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Aug 29 10:05:43 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 29 10:05:43 2024 +0200"
      },
      "message": "Add JsonBufferBuilder. (#51)\n\n* Add JsonBufferBuilder.\r\n\r\n* Address review comments.\r\n\r\n* Address further review comments, further cleanup and add comments.\r\n\r\nMade any classes and methods that can be private, private.\r\n\r\n* Fix a comment."
    },
    {
      "commit": "c5aa91652ceeff8ea71df9f51435e4b01add7297",
      "tree": "bea08437e468765fae16ed3be4b9eed20deada09",
      "parents": [
        "b2876997a02468c8ff4596da62b2bdf885306dab"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Mon Aug 19 02:19:07 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 19 11:19:07 2024 +0200"
      },
      "message": "add \u0027implements Object\u0027 to non-null extension types (#49)\n\n"
    },
    {
      "commit": "b2876997a02468c8ff4596da62b2bdf885306dab",
      "tree": "313097e0bd3549b33e45bf6ddbc8bd6effc4d460",
      "parents": [
        "e881908c02fc311ad639584506284b16b3cd3f68"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Aug 16 17:39:19 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 16 17:39:19 2024 +0200"
      },
      "message": "Support binary serialization. (#44)\n\n"
    },
    {
      "commit": "e881908c02fc311ad639584506284b16b3cd3f68",
      "tree": "b881262e48d211c5e821549cf9759515abf531de",
      "parents": [
        "e55806a8339e45446afa7c341bd3828a8b772710"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Thu Aug 15 11:00:25 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 15 11:00:25 2024 -0700"
      },
      "message": "Allow union types to have additional fields, support required fields. (#43)\n\n- Union types can now have additional fields beyond just `type` and `value`. These can be passed to each specialized constructor along with the value.\r\n- Adds support for required fields in schemas, which essentially just makes the parameters for these fields in the constructors be required. These are not intended to be widely used, but there are certain things which are truly required.\r\n- Uses these features to add a required `id` field to request types, and `requestId` field to response types.\r\n- These will be used to support multiple ongoing requests and remove hacks with global variables for cfe/analyzer internals in the future.\r\n- Also dropped the special `_dartWrapperToJson` function - afaik this was never necessary (but please let me know if that is wrong).\r\n\r\nIf you would like, I could separate out the support here from adding the actual required fields.\r\n\r\n## Risks\r\n\r\nThis makes requests non-hermetic, because of the `id` field. This is always only in the _outer_ request type though. We can still do caching based on the _inner_ request type, which I think should work out fine.\r\n\r\nNote that having the IDs on the outer types means they are not generally visible to the user APIs which is good."
    },
    {
      "commit": "e55806a8339e45446afa7c341bd3828a8b772710",
      "tree": "9b460246de98dbd4d0a8c9431e153d0197aed635",
      "parents": [
        "618a89ab2de0cc97b7266412845cebb1332a75d6"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Aug 15 09:01:28 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 15 09:01:28 2024 +0200"
      },
      "message": "Add golden tests for introspection on CFE. (#42)\n\n"
    },
    {
      "commit": "618a89ab2de0cc97b7266412845cebb1332a75d6",
      "tree": "b64cb17b72e7bc1ef6092e2671ed4f2b7613c4e9",
      "parents": [
        "e5e8c0a4886260f26b7366d8581d55d4e24c697c"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Aug 14 10:26:47 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 14 10:26:47 2024 +0200"
      },
      "message": "Add golden tests for introspection. (#41)\n\n"
    },
    {
      "commit": "e5e8c0a4886260f26b7366d8581d55d4e24c697c",
      "tree": "4109f893f9518840740e1612cf26b653e45023aa",
      "parents": [
        "f8aea9bcf17b9204f1a9e05b32907a1c6565b927"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Aug 14 09:29:52 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 14 09:29:52 2024 +0200"
      },
      "message": "Do CFE query via `SourceLoader` bypassing CFE macros implementation. (#40)\n\n"
    },
    {
      "commit": "f8aea9bcf17b9204f1a9e05b32907a1c6565b927",
      "tree": "8adfc92d81c423f2a83c56f15355ced72adab2f1",
      "parents": [
        "6494d0553a1b10dbfcaab5074da67b775b07c636"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Aug 13 08:55:48 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 13 08:55:48 2024 +0200"
      },
      "message": "First query via the CFE. (#39)\n\n"
    },
    {
      "commit": "6494d0553a1b10dbfcaab5074da67b775b07c636",
      "tree": "d9d0edbc257167f5aa1f3502fc4acfa93ae0dada",
      "parents": [
        "4e1c095d3346217effe30c186df231603615be55"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Mon Aug 12 06:52:45 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 12 06:52:45 2024 -0700"
      },
      "message": "add some basic JsonBuffer benchmarks (#36)\n\n"
    },
    {
      "commit": "4e1c095d3346217effe30c186df231603615be55",
      "tree": "11f3a3f66df0c2a35efa630826e2aaed9a615310",
      "parents": [
        "3bba4061a0ad3e3980c49300a8fd355353792a8f"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Aug 12 09:56:53 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 12 09:56:53 2024 +0200"
      },
      "message": "First query via the analyzer. (#33)\n\n"
    },
    {
      "commit": "3bba4061a0ad3e3980c49300a8fd355353792a8f",
      "tree": "12665e956717acda807a948456c214a246f78a8d",
      "parents": [
        "0b951a9dfeb2f3c4dadd44a2e09440e0185eafcc"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Aug 12 09:23:01 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 12 09:23:01 2024 +0200"
      },
      "message": "Make union type \"unknown\" private to force use of default. (#34)\n\n"
    },
    {
      "commit": "0b951a9dfeb2f3c4dadd44a2e09440e0185eafcc",
      "tree": "cd768b26f12da5458983bc815e20fb466c9238c7",
      "parents": [
        "1bfa4b34392adbebbcd18e8a822ca9bb6f6f9853"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Aug 12 09:00:35 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 12 09:00:35 2024 +0200"
      },
      "message": "Placeholder package config reader. (#29)\n\n* Placeholder package config reader.\r\n\r\n* Use `MacroPackageConfig`."
    },
    {
      "commit": "1bfa4b34392adbebbcd18e8a822ca9bb6f6f9853",
      "tree": "a59af850c58a38503fbb6d001e1a0db788fde65d",
      "parents": [
        "731c449f407f0b3ef2e413f9b860045eff31e1bc"
      ],
      "author": {
        "name": "Simon Binder",
        "email": "oss@simonbinder.eu",
        "time": "Fri Aug 09 13:39:38 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 09 13:39:38 2024 +0200"
      },
      "message": "Support string and null as schema representation (#30)\n\n* Support string and null as schema representation\r\n\r\n* Add definitions for static types\r\n\r\n* Add static types as example\r\n\r\n* Add dot, fix analysis hint"
    },
    {
      "commit": "731c449f407f0b3ef2e413f9b860045eff31e1bc",
      "tree": "7230cc617225a67a6d549bd267617dcc53b3075c",
      "parents": [
        "db556adcfc78f9af3e442e00cee0930ab66facfe"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Fri Aug 09 09:14:15 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 09 09:14:15 2024 +0200"
      },
      "message": "Use package:_macro_host in _cfe_macros. (#32)\n\n"
    },
    {
      "commit": "db556adcfc78f9af3e442e00cee0930ab66facfe",
      "tree": "54a9f51108e6545bdde5e81932262194d8bf2adc",
      "parents": [
        "e48bef469f9db7e96ab6f7aaaa6aba098db21365"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Aug 08 10:48:11 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 08 10:48:11 2024 +0200"
      },
      "message": "Use package:_macro_host in _analyzer_macros. (#28)\n\n"
    },
    {
      "commit": "e48bef469f9db7e96ab6f7aaaa6aba098db21365",
      "tree": "0b0c2963687dcfb4151ee3f75df2dddc894a60ec",
      "parents": [
        "576ea7a52c224ac74313b62baf2de572c9c769e5"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Aug 08 09:56:18 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 08 09:56:18 2024 +0200"
      },
      "message": "Differentiate types of request explicitly, remove ListOfService. (#27)\n\n"
    },
    {
      "commit": "576ea7a52c224ac74313b62baf2de572c9c769e5",
      "tree": "488deedc0dd6051cbf337143c6571f0e57e18a5c",
      "parents": [
        "588db941d94a3630f64216df40bfb290a40d4a27"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Aug 08 09:03:41 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 08 09:03:41 2024 +0200"
      },
      "message": "Fix unions schema to match JSON. (#26)\n\n"
    },
    {
      "commit": "588db941d94a3630f64216df40bfb290a40d4a27",
      "tree": "3b66831452ae2e891d069b1842a304930611fccb",
      "parents": [
        "5b70e02c156f86056754f61d3ff50d0c9af528e8"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Thu Aug 08 08:47:17 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 08 08:47:17 2024 +0200"
      },
      "message": "Make set_sd_ref also take dev tags and update SDK version. Update to latest. (#25)\n\n"
    },
    {
      "commit": "5b70e02c156f86056754f61d3ff50d0c9af528e8",
      "tree": "d3ea6cbdf9a7fca5ef4a6c225ec660405ec0bd6a",
      "parents": [
        "693f52e0045e7a4f197824e52763b8e9e72d9789"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Aug 07 09:45:50 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 07 09:45:50 2024 +0200"
      },
      "message": "Connect queries from macro through to host. (#22)\n\n* Connect up augmentations from macro output through to host.\r\n\r\n* Connect queries from macro through to host.\r\n\r\nAdd union types to JSON generation, use them for requests and responses.\r\n\r\n* Rebase.\r\n\r\n* Address review comments."
    },
    {
      "commit": "693f52e0045e7a4f197824e52763b8e9e72d9789",
      "tree": "1c81be332c7428ef7eeb0662c676346288e8597a",
      "parents": [
        "b3f4c73ee0ad8bffcaea5c798eafd230266aaac5"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Wed Aug 07 09:06:46 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 07 09:06:46 2024 +0200"
      },
      "message": "Connect up augmentations from macro output through to host. (#21)\n\n"
    },
    {
      "commit": "b3f4c73ee0ad8bffcaea5c798eafd230266aaac5",
      "tree": "ec5cd6fcfef1feb8107e0850b7281d5b695b93f9",
      "parents": [
        "00a097a60cb7955c2ebd6fcbfd51e68b0c0dc183"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Tue Aug 06 09:29:19 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 06 09:29:19 2024 +0200"
      },
      "message": "Build macros, run them, serve a (test) service, host, connect to it (#20)\n\n* Build macros, run them, serve a (test) service, host.\r\n\r\n* Address review comments."
    },
    {
      "commit": "00a097a60cb7955c2ebd6fcbfd51e68b0c0dc183",
      "tree": "fe8f26ee6a882bb412a4832886d7cad70126cb37",
      "parents": [
        "afefe346cc9a28541334041085259c038c5803a6"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Aug 05 17:31:29 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 05 17:31:29 2024 +0200"
      },
      "message": "Run CFE tests only with pubspec SDK. (#23)\n\n"
    },
    {
      "commit": "afefe346cc9a28541334041085259c038c5803a6",
      "tree": "b973dde93da9331887cf5a457771b756869b5901",
      "parents": [
        "fd8ea923fdca6ec0aea1f2a2d0a2b24f85c20d4f"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Jul 22 11:27:13 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 22 11:27:13 2024 +0200"
      },
      "message": "Macro host (#19)\n\n* Add skeleton macro client, host and supporting packages.\r\n\r\n* Address review comments."
    },
    {
      "commit": "fd8ea923fdca6ec0aea1f2a2d0a2b24f85c20d4f",
      "tree": "222afecd09d0aaf7078613721ccfa982b8f8d84c",
      "parents": [
        "f476bb165eab1020697ca5ac0fb21355a7a3b942"
      ],
      "author": {
        "name": "David Morgan",
        "email": "davidmorgan@google.com",
        "time": "Mon Jul 22 10:02:53 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 22 10:02:53 2024 +0200"
      },
      "message": "Inject macro implementation into analyzer and CFE, test it. (#18)\n\n* Inject macro implementation into analyzer and CFE, test it.\r\n\r\nThe \"macros\" are just hardcoded for now.\r\n\r\n* Address review comments."
    },
    {
      "commit": "f476bb165eab1020697ca5ac0fb21355a7a3b942",
      "tree": "3a3ba41f3dd0c1d6b03a77673d9cbc980fe15cf3",
      "parents": [
        "98ae98b9359928462d131a07d16bd8e34a507c96"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 01 13:14:49 2024 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 01 13:14:49 2024 +0200"
      },
      "message": "Bump the github-actions group with 3 updates (#16)\n\nBumps the github-actions group with 3 updates: [actions/cache](https://github.com/actions/cache), [dart-lang/setup-dart](https://github.com/dart-lang/setup-dart) and [actions/checkout](https://github.com/actions/checkout).\r\n\r\n\r\nUpdates `actions/cache` from 3.3.2 to 4.0.2\r\n- [Release notes](https://github.com/actions/cache/releases)\r\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\r\n- [Commits](https://github.com/actions/cache/compare/704facf57e6136b1bc63b828d79edcd491f0ee84...0c45773b623bea8c8e75f6c82b208c3cf94ea4f9)\r\n\r\nUpdates `dart-lang/setup-dart` from 1.6.0 to 1.6.5\r\n- [Release notes](https://github.com/dart-lang/setup-dart/releases)\r\n- [Changelog](https://github.com/dart-lang/setup-dart/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/dart-lang/setup-dart/compare/b64355ae6ca0b5d484f0106a033dd1388965d06d...0a8a0fc875eb934c15d08629302413c671d3f672)\r\n\r\nUpdates `actions/checkout` from 4.1.1 to 4.1.7\r\n- [Release notes](https://github.com/actions/checkout/releases)\r\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\r\n- [Commits](https://github.com/actions/checkout/compare/b4ffde65f46336ab88eb53be808477a3936bae11...692973e3d937129bcbf40652eb9f2f61becf3332)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: actions/cache\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-major\r\n  dependency-group: github-actions\r\n- dependency-name: dart-lang/setup-dart\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-patch\r\n  dependency-group: github-actions\r\n- dependency-name: actions/checkout\r\n  dependency-type: direct:production\r\n  update-type: version-update:semver-patch\r\n  dependency-group: github-actions\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": "98ae98b9359928462d131a07d16bd8e34a507c96",
      "tree": "244a28eada20715c96a3a51e9aa3b7f6b336d7d4",
      "parents": [
        "1abc0e615216ffc9a495bcb6228b8a6ba945c9cc"
      ],
      "author": {
        "name": "Jacob MacDonald",
        "email": "jakemac@google.com",
        "time": "Fri Jun 21 09:16:29 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 21 09:16:29 2024 -0700"
      },
      "message": "set up mono_repo configs (#12)\n\nCloses https://github.com/dart-lang/macros/issues/2\r\n\r\nI also added tool/dart_model_generator to the workspace config."
    }
  ],
  "next": "1abc0e615216ffc9a495bcb6228b8a6ba945c9cc"
}
