)]}'
{
  "log": [
    {
      "commit": "08d893c74c1bc6c045ef97b3577f9d54f6ea7352",
      "tree": "d81c4f0b475a28838bdd4029fc34826c93a70b57",
      "parents": [
        "577080b7d7719211e26897552e4d33b7492c3b27"
      ],
      "author": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Wed Dec 01 14:37:58 2021 -0600"
      },
      "committer": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Wed Dec 01 15:12:44 2021 -0600"
      },
      "message": "Bump dependencies and prepare for release\n"
    },
    {
      "commit": "577080b7d7719211e26897552e4d33b7492c3b27",
      "tree": "0fb397f47a51d135600485265309f8ba3df33ff3",
      "parents": [
        "758f801183da175c31f7c80ccb2a0235da038808"
      ],
      "author": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Tue Nov 30 15:58:46 2021 -0600"
      },
      "committer": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Tue Nov 30 15:58:46 2021 -0600"
      },
      "message": "Restore files deleted in merge\n"
    },
    {
      "commit": "758f801183da175c31f7c80ccb2a0235da038808",
      "tree": "2500b70d0be3417406f1628289aae0b80b24cec8",
      "parents": [
        "8c49e71daa4c4d41e9103c4c562a8f3e9cecdd61",
        "0cecece8026d86fd4f5c909ab2e520f9e3fd28ba"
      ],
      "author": {
        "name": "Nick Croll",
        "email": "ncroll@gmail.com",
        "time": "Tue Nov 30 13:45:50 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 30 13:45:50 2021 -0800"
      },
      "message": "Merge pull request #108 from google/google\n\nIntegrate internal changes"
    },
    {
      "commit": "0cecece8026d86fd4f5c909ab2e520f9e3fd28ba",
      "tree": "2500b70d0be3417406f1628289aae0b80b24cec8",
      "parents": [
        "78867c84013a3b500825b9bb1287f8df959fc3be"
      ],
      "author": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Tue Nov 30 13:38:38 2021 -0800"
      },
      "committer": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Tue Nov 30 13:43:29 2021 -0800"
      },
      "message": "Internal change\n\nPiperOrigin-RevId: 413233451\n"
    },
    {
      "commit": "78867c84013a3b500825b9bb1287f8df959fc3be",
      "tree": "fed6ae6ea977381d36deba7262b97761dfa2e9dc",
      "parents": [
        "8c49e71daa4c4d41e9103c4c562a8f3e9cecdd61"
      ],
      "author": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Tue Nov 30 11:30:29 2021 -0800"
      },
      "committer": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Tue Nov 30 15:28:20 2021 -0600"
      },
      "message": "Integrate internal changes\n\n * Remove unnecessary type cast\n * Fix ObservableMap to notify on all mutations (issue #91)\n\nPiperOrigin-RevId: 413202846\n"
    },
    {
      "commit": "8c49e71daa4c4d41e9103c4c562a8f3e9cecdd61",
      "tree": "36bbfb8337ddb92afb00eb876c63eb8ee5b1965a",
      "parents": [
        "def678f9aea2e1a36f4719260bf41f87864d860c"
      ],
      "author": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Thu May 27 12:31:53 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 27 12:31:53 2021 -0700"
      },
      "message": "Merge in null safety changes with additional fixes. (#106)\n\nIncorporates Dart null safety and other internal changes. Fixes MapChangeRecord type parameters, ObservableList.insertAll implementation, and tests."
    },
    {
      "commit": "def678f9aea2e1a36f4719260bf41f87864d860c",
      "tree": "132ee560ad9666430e26b200d7761d6ec2332264",
      "parents": [
        "9701b06129323059eb54d4c3c69e5803cadbde62"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Tue Mar 23 10:11:09 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 23 10:11:09 2021 -0700"
      },
      "message": "Enable GitHub actions, bump dependencies, prepare for release (#104)\n\n"
    },
    {
      "commit": "9701b06129323059eb54d4c3c69e5803cadbde62",
      "tree": "228155e0a00e50336bdef13cef4b619fa97aca78",
      "parents": [
        "5de3bc7f7dedc7ed86854a78e3b6ef468de4e521"
      ],
      "author": {
        "name": "Michael Thomsen",
        "email": "mit@google.com",
        "time": "Tue Mar 23 17:18:21 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 23 09:18:21 2021 -0700"
      },
      "message": "Prepare for publishing (#103)\n\n"
    },
    {
      "commit": "5de3bc7f7dedc7ed86854a78e3b6ef468de4e521",
      "tree": "1f82a2a4e554f778ee4e1bd3bf53fdf0a7997698",
      "parents": [
        "13095f943ead0e20d0981ad947d455d87209c1a2"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Wed Mar 10 01:25:49 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 10 01:25:49 2021 -0800"
      },
      "message": "Remove unused dart:async imports. (#101)\n\nAs of Dart 2.1, Future/Stream have been exported from dart:core.\r\n\r\nMore information: go/dart-lsc-remove-unused-async-imports"
    },
    {
      "commit": "13095f943ead0e20d0981ad947d455d87209c1a2",
      "tree": "6862387b2dd82a8aff9845e12ef8440fdce0f669",
      "parents": [
        "89873d1970e39d72ccc463988f38ed7a880e3a7e"
      ],
      "author": {
        "name": "Michael R Fairhurst",
        "email": "mfairhurst@google.com",
        "time": "Wed Mar 10 01:24:48 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 10 01:24:48 2021 -0800"
      },
      "message": "Remove unneeded dart:async import (#96)\n\nSince Dart 2.1, Future and Stream have been exported from dart:core.\r\n\r\nAlternatively, if for some reason this package needs to continue to\r\nsupport Dart 2.0, an exception can be made for this internally."
    },
    {
      "commit": "89873d1970e39d72ccc463988f38ed7a880e3a7e",
      "tree": "e3d4b98c590a02a4160bafb3b5dbdfcd33ebd248",
      "parents": [
        "205b0b817d28d0358f3347e930a0ad1dafb62ab5"
      ],
      "author": {
        "name": "lukaszkolodziejczyk",
        "email": "lukasz.m.kolodziejczyk@gmail.com",
        "time": "Tue Feb 23 19:15:22 2021 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 23 10:15:22 2021 -0800"
      },
      "message": "Allow dart_internal 0.2.0 \u0026 fix analyzer/formatter issues (#102)\n\n* Format map_change_record.dart\r\n\r\n* Replace direct List constructor with .filled\r\n\r\n* Allow dart_internal 0.2.0"
    },
    {
      "commit": "205b0b817d28d0358f3347e930a0ad1dafb62ab5",
      "tree": "99d261f411b1dd43c2654802817505538c1c70c7",
      "parents": [
        "4f981e3c65292340ebfb819ace9ab7657a3251f0",
        "be25250463167187e4b65b4b7a3b428ffb5dcdb0"
      ],
      "author": {
        "name": "Nick Croll",
        "email": "ncroll@gmail.com",
        "time": "Wed May 13 09:32:40 2020 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 09:32:40 2020 -0700"
      },
      "message": "Merge pull request #95 from google/mit-mit-patch-1\n\nUpdate pubspec.yaml with new repo url"
    },
    {
      "commit": "be25250463167187e4b65b4b7a3b428ffb5dcdb0",
      "tree": "99d261f411b1dd43c2654802817505538c1c70c7",
      "parents": [
        "4f981e3c65292340ebfb819ace9ab7657a3251f0"
      ],
      "author": {
        "name": "Michael Thomsen",
        "email": "mit@google.com",
        "time": "Wed May 13 07:56:29 2020 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 07:56:29 2020 +0200"
      },
      "message": "Update pubspec.yaml"
    },
    {
      "commit": "4f981e3c65292340ebfb819ace9ab7657a3251f0",
      "tree": "989b1a940a952bc9aef156d0384d15f3404d34ee",
      "parents": [
        "6608f88491e59f0e28f7a744d3588f963288621e"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Wed Jan 29 12:58:33 2020 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 29 12:58:33 2020 -0800"
      },
      "message": "Fix return type of test helper method (#90)\n\n"
    },
    {
      "commit": "6608f88491e59f0e28f7a744d3588f963288621e",
      "tree": "a3be3f4520cc005434ffdab1f0d01dacc9fa9370",
      "parents": [
        "f4d675d75fb903ffb471e13853fc5bae3016cd34"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Wed Jan 29 11:26:10 2020 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 29 11:26:10 2020 -0800"
      },
      "message": "Update license at top of file to match the repo LICENSE file (#89)\n\n"
    },
    {
      "commit": "f4d675d75fb903ffb471e13853fc5bae3016cd34",
      "tree": "941ac24643c8383cef25075099b987eb34e94ad2",
      "parents": [
        "5b88ef11b8387e976c233ec3dbd0e2120669876c"
      ],
      "author": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Tue Jan 28 14:19:21 2020 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jan 28 14:19:21 2020 -0800"
      },
      "message": "Minor fixes and re-add PropertyChangeRecord equality. (#87)\n\n* Add toString close brackets and re-add PropertyChangeRecord equality.\r\n* Remove unnecessary quotes from pubspec.\r\n* Fix lints.\r\n* Simplify equality calculation.\r\n* Bump to a dev version.\r\n* Use the correct Map type for ObservableMap.linked"
    },
    {
      "commit": "5b88ef11b8387e976c233ec3dbd0e2120669876c",
      "tree": "4991715ab18b95b9c41628c1186fc6b1f89f858b",
      "parents": [
        "dfb94b0ff34b994b7337b28cf57dd6de9fb0483a"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Sun Jan 26 15:08:38 2020 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jan 26 15:08:38 2020 -0800"
      },
      "message": "Fix new lints (#88)\n\n"
    },
    {
      "commit": "dfb94b0ff34b994b7337b28cf57dd6de9fb0483a",
      "tree": "0e47ff5a64ea661d020d8e7e978464c9f1048c3a",
      "parents": [
        "36df04d92f0ebb1bb9b473a65049c3253fa2a72f"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Sun Jul 21 21:52:34 2019 -0700"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Mon Jul 22 08:17:17 2019 -0700"
      },
      "message": "analyzer fatal infos\n"
    },
    {
      "commit": "36df04d92f0ebb1bb9b473a65049c3253fa2a72f",
      "tree": "1ff74f3edc0c8e34c6041981c791a6056d9050ee",
      "parents": [
        "ae8fddb323c74cb235814757ebf10e7b6995b31d"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Sun Jul 21 21:40:03 2019 -0700"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Mon Jul 22 08:17:17 2019 -0700"
      },
      "message": "Support the latest pkg:build_web_compilers\n"
    },
    {
      "commit": "ae8fddb323c74cb235814757ebf10e7b6995b31d",
      "tree": "e09107d487e3c6ef7734959bf32222cf3838d653",
      "parents": [
        "5cb19656f0809b961a328b8f7054a0eb14071978"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Sun Jul 21 21:36:52 2019 -0700"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Mon Jul 22 08:17:17 2019 -0700"
      },
      "message": "fix pedantic lints\n"
    },
    {
      "commit": "5cb19656f0809b961a328b8f7054a0eb14071978",
      "tree": "1ea7652d981b6cb6bc54d2b496bc1d2a12cdc93a",
      "parents": [
        "ff8d15a7d8521b856aa4fe897bc1cca28977de28"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Tue Feb 05 14:26:15 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 05 14:26:15 2019 -0800"
      },
      "message": "Bump to 0.22.2 (#82)\n\n"
    },
    {
      "commit": "ff8d15a7d8521b856aa4fe897bc1cca28977de28",
      "tree": "ac58c2e4832bf6b483569f9b0ea0e2bc3b07d27c",
      "parents": [
        "d7f037f1dc441c84981ab1a7aae9725d6b80c389"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Tue Feb 05 12:22:13 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 05 12:22:13 2019 -0800"
      },
      "message": "Add toObservableList and toObservableMap (#81)\n\n"
    },
    {
      "commit": "d7f037f1dc441c84981ab1a7aae9725d6b80c389",
      "tree": "8046d0ac8e8ffbc83d54c820f817d4cf17bb129b",
      "parents": [
        "04eae7a581f585fc9bafa9a36d2817e14c19c5aa"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Tue Feb 05 12:21:56 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 05 12:21:56 2019 -0800"
      },
      "message": "Add dependency on pedantic; fix default parameter values (#80)\n\n"
    },
    {
      "commit": "04eae7a581f585fc9bafa9a36d2817e14c19c5aa",
      "tree": "5232f609dd2ea5712fff38b170a790566d58eb75",
      "parents": [
        "01535844c506557be9af899ed64be840e85e7279"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Mon Dec 10 14:15:29 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 10 14:15:29 2018 -0800"
      },
      "message": "Prep to publish v0.22.1+5 (#77)\n\n"
    },
    {
      "commit": "01535844c506557be9af899ed64be840e85e7279",
      "tree": "0af99832571d86c61e478b6249ae84bdcfb52b66",
      "parents": [
        "8755ee477b2475ec7adcae64b5e5621c23f077b6"
      ],
      "author": {
        "name": "Terence Lei",
        "email": "terry.haotian.lei@gmail.com",
        "time": "Mon Dec 10 13:36:43 2018 -0800"
      },
      "committer": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Mon Dec 10 13:36:43 2018 -0800"
      },
      "message": "Fix ChangeNotifier generic typing issue (#76)\n\nFix ChangeNotifier generic typing issue - ChangeRecord.ANY and ChangeRecord.None is not typesafe for any subclasses of ChangeNotifier that subclass the generic.\r\n\r\nProposed solution is to output a `ChangeRecords extends List\u003cChangeRecord\u003e` with additional metadata to indicate the change is ANY or NONE.\r\n\r\nAdvantage of this change is that it is backwards compatible with existing code while fixing type exceptions for future code.\r\n"
    },
    {
      "commit": "8755ee477b2475ec7adcae64b5e5621c23f077b6",
      "tree": "21fbe991609bfd48e2ff9f8dc9bac47e261a2dc6",
      "parents": [
        "7b35bf763410714a0963acfd101ccdc54618cbc4"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Mon Jul 23 11:41:27 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 23 11:41:27 2018 -0700"
      },
      "message": "Support Dart 2 stable, prepare to release 0.22.1+4 (#75)\n\n"
    },
    {
      "commit": "7b35bf763410714a0963acfd101ccdc54618cbc4",
      "tree": "a270c4e82afe7ede4156cba9cd4c85c68bf61a18",
      "parents": [
        "9d09e57cd2b57729e6a3d17350661229720bfd0c"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Mon Jun 25 15:27:06 2018 -0700"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Jun 25 15:27:06 2018 -0700"
      },
      "message": "Bump dev dependencies on build packages (#72)\n\n* Bump dev dependencies on build packages\r\n\r\nFixes Travis build error.\r\n\r\n* Update CHANGELOG and pubspec.\r\n"
    },
    {
      "commit": "9d09e57cd2b57729e6a3d17350661229720bfd0c",
      "tree": "f24f818966faeacd4d6b3a89ce1e2dbd524bdaf9",
      "parents": [
        "e9369be668dffa2525b2d54ef6135bdedef7c88c"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Fri May 25 10:03:45 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 25 10:03:45 2018 -0700"
      },
      "message": "Deprecate `retype` (#71)\n\nUpdate CHANGELOG in preparation to publish"
    },
    {
      "commit": "e9369be668dffa2525b2d54ef6135bdedef7c88c",
      "tree": "c7fd151bf684f64ad95e61dcf7f08f70fbc5dc71",
      "parents": [
        "baa813dd322dd7bf3c6596c7e83ba0ff12f129bd"
      ],
      "author": {
        "name": "Lasse R.H. Nielsen",
        "email": "lrn@google.com",
        "time": "Thu May 24 22:27:25 2018 +0200"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Thu May 24 13:27:25 2018 -0700"
      },
      "message": "Update implementations of the `cast` and the deprecated `retype` methods. (#70)\n\n* Update ObservableList\r\n\r\n* Update observable_map.dart\r\n\r\n* Update pubspec.yaml\r\n"
    },
    {
      "commit": "baa813dd322dd7bf3c6596c7e83ba0ff12f129bd",
      "tree": "c315cb492f14d03e1fe511e8ca6c02510ded2c6d",
      "parents": [
        "1174dec23db3d4df0fd044d8d9abac059abbb2e3"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Fri May 18 15:06:57 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 18 15:06:57 2018 -0700"
      },
      "message": "Widen quiver dependency (#69)\n\n\r\n"
    },
    {
      "commit": "1174dec23db3d4df0fd044d8d9abac059abbb2e3",
      "tree": "213ef1dcc5ec3a777aee557ccbc895b136236700",
      "parents": [
        "ecfc06d69404c132884d9347a30974d3d850b201"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Thu May 03 09:15:16 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 03 09:15:16 2018 -0700"
      },
      "message": "Fix Dart2 runtime errors in tests\n\nFixes #67"
    },
    {
      "commit": "ecfc06d69404c132884d9347a30974d3d850b201",
      "tree": "5e0d54640347ea87187cb1eec3017bd632c89c88",
      "parents": [
        "809a8bdac20678315c99643115ae7480928e0f30"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Mon Apr 02 09:01:37 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 02 09:01:37 2018 -0700"
      },
      "message": "Delete PATENTS\n\nWith approval from Google OSS"
    },
    {
      "commit": "809a8bdac20678315c99643115ae7480928e0f30",
      "tree": "fbde48a82f1368bff72f46b14b8f3dca798f8592",
      "parents": [
        "1daca513cad915d24d6d28d110c1eec65936488d"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matan@lurey.org",
        "time": "Fri Mar 23 16:27:24 2018 -0700"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matan@lurey.org",
        "time": "Fri Mar 23 16:27:24 2018 -0700"
      },
      "message": "Correctly version before release.\n"
    },
    {
      "commit": "1daca513cad915d24d6d28d110c1eec65936488d",
      "tree": "28a14c01ffc1b25724c06b97d24fda43ba06f5c1",
      "parents": [
        "2a868b943b8d719e127e32b5757b507df3ec934e"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Fri Mar 23 14:53:54 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 23 14:53:54 2018 -0700"
      },
      "message": "Add casting for ObservableList. (#66)\n\n"
    },
    {
      "commit": "2a868b943b8d719e127e32b5757b507df3ec934e",
      "tree": "df798b96f431df3913973000b522017d7f4435bd",
      "parents": [
        "0f6ea7581b0e0b9d14fdbfeac4cbce0c7d4e0600"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Mar 19 10:10:48 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 19 10:10:48 2018 -0700"
      },
      "message": "Remove extra copied doc comments. (#65)\n\n"
    },
    {
      "commit": "0f6ea7581b0e0b9d14fdbfeac4cbce0c7d4e0600",
      "tree": "ab0cff165aff440d4af6d43647e9029d009d67e4",
      "parents": [
        "635268e477f8d9c7b0551b8e5d6a81b663c2f3c1"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Mar 19 10:07:15 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 19 10:07:15 2018 -0700"
      },
      "message": "Fix ObservableMap.cast/retype. (#64)\n\n"
    },
    {
      "commit": "635268e477f8d9c7b0551b8e5d6a81b663c2f3c1",
      "tree": "a2ff0aa8af1ee3efdf43b7ecca5411b77612b31b",
      "parents": [
        "09094c95e95e66f8b5fc1ebe59be5def4aaf0f66"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Tue Mar 13 09:58:49 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 13 09:58:49 2018 -0700"
      },
      "message": "Add implementations of Dart 2 methods. (#62)\n\n* Add implementations of Dart 2 methods.\r\n\r\n* Address review feedback.\r\n\r\n* Prepare to release.\r\n"
    },
    {
      "commit": "09094c95e95e66f8b5fc1ebe59be5def4aaf0f66",
      "tree": "62e19d450c73aaa598ea0c843fdbb27af1112a6c",
      "parents": [
        "d62a16397c0a398b8f815d52978dfa86a14c8cfc"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Mar 12 21:02:58 2018 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Mar 12 21:02:58 2018 -0700"
      },
      "message": "Add build/test coverage for DDC \u0026 friends. (#63)\n\n"
    },
    {
      "commit": "d62a16397c0a398b8f815d52978dfa86a14c8cfc",
      "tree": "3a4d42ac78890514775e2236855c87a2e9cb5f02",
      "parents": [
        "0bee9d93ec04dcfb995c2cbe595ee395e9ee4c0f"
      ],
      "author": {
        "name": "Bob Nystrom",
        "email": "robert@stuffwithstuff.com",
        "time": "Wed Mar 07 15:26:29 2018 -0800"
      },
      "committer": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Wed Mar 07 15:26:29 2018 -0800"
      },
      "message": "Get ready to publish 0.21.2. (#61)\n\n"
    },
    {
      "commit": "0bee9d93ec04dcfb995c2cbe595ee395e9ee4c0f",
      "tree": "9548f9040078ad582c869317dd0410bf22bdfcda",
      "parents": [
        "df4d8605a06499c89e5478541510ee90313d97e2"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Wed Mar 07 15:07:10 2018 -0800"
      },
      "committer": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Wed Mar 07 15:07:10 2018 -0800"
      },
      "message": "Stop using Maps class before it is deleted. (#59)\n\n"
    },
    {
      "commit": "df4d8605a06499c89e5478541510ee90313d97e2",
      "tree": "518d3e3d8c37e52774c5dba7970658540839d4ae",
      "parents": [
        "6eb4155f19c51ff9ddc9fd92d0af79fb596069cd"
      ],
      "author": {
        "name": "Mark Egli",
        "email": "markegli@google.com",
        "time": "Wed Mar 07 14:16:14 2018 -0800"
      },
      "committer": {
        "name": "Bob Nystrom",
        "email": "robert@stuffwithstuff.com",
        "time": "Wed Mar 07 14:16:14 2018 -0800"
      },
      "message": "Honor `deep: false` when converting Maps. (#60)\n\nCurrently toObservable always converts maps deeply."
    },
    {
      "commit": "6eb4155f19c51ff9ddc9fd92d0af79fb596069cd",
      "tree": "9693131ae2488dbb5e7b66642daefa364fe81e4b",
      "parents": [
        "e93fd28e6911c958eac5c9ef93f2f9034e3334a8"
      ],
      "author": {
        "name": "Bob Nystrom",
        "email": "robert@stuffwithstuff.com",
        "time": "Wed Feb 28 18:02:46 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 28 18:02:46 2018 -0800"
      },
      "message": "Bump version number to publish. (#58)\n\n"
    },
    {
      "commit": "e93fd28e6911c958eac5c9ef93f2f9034e3334a8",
      "tree": "3a7afe13c0f2167889654f5b4d8697d2164ee972",
      "parents": [
        "957846a887b3666785f062b910e13ebf458bce92"
      ],
      "author": {
        "name": "Bob Nystrom",
        "email": "robert@stuffwithstuff.com",
        "time": "Wed Feb 28 17:37:27 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Feb 28 17:37:27 2018 -0800"
      },
      "message": "Fix runtime cast failures. (#57)\n\n* Fix runtime cast failures.\r\n\r\nIn strong mode, a generic type instantiated with dynamic is not a\r\nsubtype of all types. You can\u0027t pass a List\u003cdynamic\u003e to something\r\nexpecting, say, List\u003cint\u003e.\r\n\r\nThese errors are usually detected statically, and most of those have\r\nbeen fixed. However, sometimes this becomes a runtime cast, as in:\r\n\r\n    main() {\r\n      // Store a List\u003cdynamic\u003e in a variable of type dynamic.\r\n      dynamic d \u003d [];\r\n\r\n      // Implicit runtime downcast from dynamic to List\u003cString\u003e.\r\n      List\u003cString\u003e s \u003d d;\r\n    }\r\n\r\nIn order to ease the migration to strong mode, DDC has been ignoring\r\nthese cast failures when they involve certain commonly used types. We\r\nare now in the process of actively fixing those errors.\r\n\r\nMore context: https://github.com/dart-lang/sdk/issues/27223\r\n\r\n* Update SDK constraints.\r\n\r\n* Use newer dev version of the SDK on Travis.\r\n\r\n* Bump minimum SDK constraint.\r\n"
    },
    {
      "commit": "957846a887b3666785f062b910e13ebf458bce92",
      "tree": "938161db6cdd0e368f8c26b219cc78d106bf8a8b",
      "parents": [
        "a7ed9c0a01340a8ffb0b964cba3ac210aecb0774",
        "6cf0e96e60f16eb265e9de03def4a2afe2d85bae"
      ],
      "author": {
        "name": "Michael R Fairhurst",
        "email": "michaelrfairhurst@gmail.com",
        "time": "Tue Feb 27 18:58:04 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Feb 27 18:58:04 2018 -0800"
      },
      "message": "Merge pull request #56 from MichaelRFairhurst/fix-changelon\n\nmove changelog statement"
    },
    {
      "commit": "6cf0e96e60f16eb265e9de03def4a2afe2d85bae",
      "tree": "938161db6cdd0e368f8c26b219cc78d106bf8a8b",
      "parents": [
        "a7ed9c0a01340a8ffb0b964cba3ac210aecb0774"
      ],
      "author": {
        "name": "Mike Fairhurst",
        "email": "mfairhurst@google.com",
        "time": "Tue Feb 27 13:42:20 2018 -0800"
      },
      "committer": {
        "name": "Mike Fairhurst",
        "email": "mfairhurst@google.com",
        "time": "Tue Feb 27 13:42:20 2018 -0800"
      },
      "message": "move changelog statement\n"
    },
    {
      "commit": "a7ed9c0a01340a8ffb0b964cba3ac210aecb0774",
      "tree": "b41139c78c678c8004506639fff8b462b2b60869",
      "parents": [
        "70e1639b166a19048d8651c7e4f45d030bebbb93",
        "17e3f04c8774fdf50accd2a0ef5c8a5751b05584"
      ],
      "author": {
        "name": "Michael R Fairhurst",
        "email": "michaelrfairhurst@gmail.com",
        "time": "Mon Feb 26 16:25:14 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Feb 26 16:25:14 2018 -0800"
      },
      "message": "Merge pull request #53 from MichaelRFairhurst/void-fixes\n\nChanges for landing https://github.com/dart-lang/sdk/issues/32161"
    },
    {
      "commit": "17e3f04c8774fdf50accd2a0ef5c8a5751b05584",
      "tree": "992b3e2d02d9b06bb3ab4d10c3ef1833324524f3",
      "parents": [
        "bce1189e296fd328f66c4ba20428e16eda0e2d94"
      ],
      "author": {
        "name": "Mike Fairhurst",
        "email": "mfairhurst@google.com",
        "time": "Sun Feb 25 16:39:29 2018 -0800"
      },
      "committer": {
        "name": "Mike Fairhurst",
        "email": "mfairhurst@google.com",
        "time": "Sun Feb 25 16:39:29 2018 -0800"
      },
      "message": "Update pubspec and changelog for fix\n"
    },
    {
      "commit": "70e1639b166a19048d8651c7e4f45d030bebbb93",
      "tree": "5e7d86c2670e218c5e054386b72e5a817de099b9",
      "parents": [
        "bc4b2d9902099e459ea744b8969239156c65623f"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Sat Feb 24 15:38:42 2018 -0800"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Sat Feb 24 15:38:42 2018 -0800"
      },
      "message": "Remove visibleForTesting annotation from ChangeNotifier.deliverChanges. (#55)\n\nIt is used in `lib/src/observable.dart`."
    },
    {
      "commit": "bce1189e296fd328f66c4ba20428e16eda0e2d94",
      "tree": "ec8e9b6bee5d2d1a84dafa391dcffa776e4ee7f4",
      "parents": [
        "bc4b2d9902099e459ea744b8969239156c65623f"
      ],
      "author": {
        "name": "Mike Fairhurst",
        "email": "mfairhurst@google.com",
        "time": "Mon Feb 19 12:16:27 2018 -0800"
      },
      "committer": {
        "name": "Mike Fairhurst",
        "email": "mfairhurst@google.com",
        "time": "Mon Feb 19 12:16:27 2018 -0800"
      },
      "message": "Changes for landing https://github.com/dart-lang/sdk/issues/32161\n\nAdd void declarations to methods with implicit dynamic returning void\nvalues, which may be illegal in dart 2, but in either case, expresses\nthe current intent better.\n"
    },
    {
      "commit": "bc4b2d9902099e459ea744b8969239156c65623f",
      "tree": "83f8a5c9d8ad4ecd813b801ecde470fb7b358cc1",
      "parents": [
        "036fd11124ec09d91e42098c9ed02fb6481cf221"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Mon Feb 12 09:30:02 2018 -0800"
      },
      "committer": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Mon Feb 12 09:30:02 2018 -0800"
      },
      "message": "Cleanup trailing newlines in CHANGELOG\n\n"
    },
    {
      "commit": "036fd11124ec09d91e42098c9ed02fb6481cf221",
      "tree": "147855648f0e8bc0c89ca4669cd6ce8535208553",
      "parents": [
        "78c17175e0349b45a90b677679ca4d6194d80734"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Fri Feb 09 16:21:43 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Feb 09 16:21:43 2018 -0800"
      },
      "message": "Revised dependencies and update CHANGELOG (#52)\n\n* Call out changes from versions being reverted.\r\n* Add list of patches applied on top of 0.17.0+1.\r\n* Revise dependencies to be a closer match what they were in 0.17.0+1.\r\n* Adjust minimum SDK version to the oldest version that is green on Travis (1.23.0).\r\n* Pin SDK 1.23.0 into Travis version matrix.\r\n"
    },
    {
      "commit": "78c17175e0349b45a90b677679ca4d6194d80734",
      "tree": "bb186aaf05483702d0b3c9793da8a6db2115bb55",
      "parents": [
        "9f2fab71f430052575ffc983dc21f3d81d4af021"
      ],
      "author": {
        "name": "Nicholas Shahan",
        "email": "nshahan@google.com",
        "time": "Fri Feb 09 14:35:19 2018 -0800"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Fri Feb 09 14:35:19 2018 -0800"
      },
      "message": "[For Consideration] Merging internal fork (#50)\n\n* Revert to version 0.17.0+1.\r\n\r\nFixes for Dart 2.\r\nResolves fork at version 0.18.0 that prevented support from the package authors.\r\n\r\n* Update travis config to ignore failures on stable SDK for now\r\n"
    },
    {
      "commit": "9f2fab71f430052575ffc983dc21f3d81d4af021",
      "tree": "02d90818b88c86629b1a8fdd7a0556f3fcb64245",
      "parents": [
        "8a225cb8bad453f6a2b34d3d07f3fb81780c3201"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Mon Jan 08 17:25:06 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 08 17:25:06 2018 -0800"
      },
      "message": "Bump quiver support to include 0.27 (#47)\n\n"
    },
    {
      "commit": "8a225cb8bad453f6a2b34d3d07f3fb81780c3201",
      "tree": "a9f55af4a9f62fa1b6369f7b2c4c89f5907b92eb",
      "parents": [
        "1e5952c274b27ad6ee32f9cbe4eb4129f99cd5f5"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Mon Jan 08 17:07:45 2018 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 08 17:07:45 2018 -0800"
      },
      "message": "Self-execute closures for assert() (#46)\n\n"
    },
    {
      "commit": "1e5952c274b27ad6ee32f9cbe4eb4129f99cd5f5",
      "tree": "1e922774e36b293b77fd1b8b9da2041d4278a34d",
      "parents": [
        "b9de72560f975031032d029b9bf8c7e2408d0138"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Wed Dec 27 10:43:13 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 27 10:43:13 2017 -0800"
      },
      "message": "Fix some types where DDC expects more strictness: (#44)\n\nFix some types where DDC expects more strictness:\r\n\r\n* `ChangeRecord.NONE` creates a `List\u003cChangeRecord\u003e`, while the call sites\r\n  expect a `List\u003cListChangeRecord\u003e` or `List\u003cMapChangeRecord\u003e`, respectively.\r\n"
    },
    {
      "commit": "b9de72560f975031032d029b9bf8c7e2408d0138",
      "tree": "f612ae751ce02e10f90e49f72e945555cd0c61d3",
      "parents": [
        "1c873a91a6774de0634e2cfebd9c723d278fd22a",
        "c254d29a71c9b474a472d6ec40f26170d4ad144a"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Wed Dec 27 10:20:03 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Dec 27 10:20:03 2017 -0800"
      },
      "message": "Merge pull request #45 from srawlins/bump-quiver\n\nExpand the quiver version constraints"
    },
    {
      "commit": "c254d29a71c9b474a472d6ec40f26170d4ad144a",
      "tree": "f612ae751ce02e10f90e49f72e945555cd0c61d3",
      "parents": [
        "1c873a91a6774de0634e2cfebd9c723d278fd22a"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Wed Dec 27 10:13:40 2017 -0800"
      },
      "committer": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Wed Dec 27 10:13:40 2017 -0800"
      },
      "message": "Expand the quiver version constraints\n"
    },
    {
      "commit": "1c873a91a6774de0634e2cfebd9c723d278fd22a",
      "tree": "a06203939f8c83084107bfb7cdb071433c665bb6",
      "parents": [
        "8c9596121f624b6b21cec9a7d45621bbdcd89535",
        "9054bc1a41ed4ee9702b15d1788b9bb05ec2d984"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "sam.rawlins@gmail.com",
        "time": "Thu Dec 21 16:26:54 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 21 16:26:54 2017 -0800"
      },
      "message": "Merge pull request #43 from srawlins/generic-comments\n\nFix generic comment syntax"
    },
    {
      "commit": "9054bc1a41ed4ee9702b15d1788b9bb05ec2d984",
      "tree": "a06203939f8c83084107bfb7cdb071433c665bb6",
      "parents": [
        "efab4c2c6418a2dce97c3644b37c4fcac27d33d5"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Dec 21 16:18:08 2017 -0800"
      },
      "committer": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Dec 21 16:18:08 2017 -0800"
      },
      "message": "dartfmt\n"
    },
    {
      "commit": "efab4c2c6418a2dce97c3644b37c4fcac27d33d5",
      "tree": "17332826602adc9b49d39a58fca4653558f861ea",
      "parents": [
        "42243dad404e4b3ce2d30560881e02f226135ec4"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Dec 21 14:19:22 2017 -0800"
      },
      "committer": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Dec 21 14:19:22 2017 -0800"
      },
      "message": "Un-genericize const\n"
    },
    {
      "commit": "42243dad404e4b3ce2d30560881e02f226135ec4",
      "tree": "cc7e8b217f8ab8dcbd239e0af5461da18a0e2775",
      "parents": [
        "8c9596121f624b6b21cec9a7d45621bbdcd89535"
      ],
      "author": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Dec 21 09:33:36 2017 -0800"
      },
      "committer": {
        "name": "Sam Rawlins",
        "email": "srawlins@google.com",
        "time": "Thu Dec 21 09:33:36 2017 -0800"
      },
      "message": "Fix generic comment syntax\n"
    },
    {
      "commit": "8c9596121f624b6b21cec9a7d45621bbdcd89535",
      "tree": "6b4069c3b61e6a1b07362214095db946f2f387c9",
      "parents": [
        "2ab668c197e347453244385fa9846d167b8fc29f"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Tue Apr 04 12:56:41 2017 -0700"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Tue Apr 04 12:56:41 2017 -0700"
      },
      "message": "prepare for release\n"
    },
    {
      "commit": "2ab668c197e347453244385fa9846d167b8fc29f",
      "tree": "d8ae3fed7571569d0a020bccd58ea13cdefc6dd7",
      "parents": [
        "d8b30dc537061e4b7ec6a3288876cbfd9c53bd76"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Tue Apr 04 12:39:47 2017 -0700"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Tue Apr 04 12:41:53 2017 -0700"
      },
      "message": "support the latest version of quiver\n"
    },
    {
      "commit": "d8b30dc537061e4b7ec6a3288876cbfd9c53bd76",
      "tree": "bfe2e4abdeff254610e1481d2e76bf2450842bfd",
      "parents": [
        "d4a1d20e20010fe3c4bbcf2d6c58da35e1d50e1e"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Tue Apr 04 12:39:22 2017 -0700"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Tue Apr 04 12:41:53 2017 -0700"
      },
      "message": "use latest travis config\n"
    },
    {
      "commit": "d4a1d20e20010fe3c4bbcf2d6c58da35e1d50e1e",
      "tree": "40317099f568a99236c1976c15502fa862c6b573",
      "parents": [
        "87a013a85d5b9b8a6a4c1206c2fbe65ab1f87aec"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Mon Mar 20 07:50:31 2017 -0700"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Mar 20 07:50:31 2017 -0700"
      },
      "message": "Fix type issue in test (#38)\n\n"
    },
    {
      "commit": "87a013a85d5b9b8a6a4c1206c2fbe65ab1f87aec",
      "tree": "3c465628df0f1a8003d1615060d831a0eb4b4bce",
      "parents": [
        "3f513713b85c9ed450594d815b96e68b09f2899a"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Thu Feb 23 10:26:34 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 23 10:26:34 2017 -0800"
      },
      "message": "Update pubspec.yaml\n\nNever published .4"
    },
    {
      "commit": "3f513713b85c9ed450594d815b96e68b09f2899a",
      "tree": "4bca1c7b4fd4a1860669d7f654923f98e23f9ded",
      "parents": [
        "f24b489dac0c1bcd4a7dcbb24da8f03b426d89e6"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Wed Feb 22 22:19:12 2017 -0800"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Wed Feb 22 22:19:12 2017 -0800"
      },
      "message": "Update tested SDK, added travis badge to README (#37)\n\n"
    },
    {
      "commit": "f24b489dac0c1bcd4a7dcbb24da8f03b426d89e6",
      "tree": "f42bd73ac65da99094f745082c025759e8f56411",
      "parents": [
        "d1cf199b07e4c220d0621e82fcda02891ec02754"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Tue Feb 14 08:53:33 2017 -0800"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Tue Feb 14 08:53:33 2017 -0800"
      },
      "message": "Fix travis by requiring 1.22.0\n\nFixes https://github.com/dart-lang/observable/issues/34\n"
    },
    {
      "commit": "d1cf199b07e4c220d0621e82fcda02891ec02754",
      "tree": "9f5082fde9f5523923b90f555f9dbe1da032b91a",
      "parents": [
        "893866425c6292712190ac1b7b0d28db6423a5e1"
      ],
      "author": {
        "name": "Florian Loitsch",
        "email": "floitsch@google.com",
        "time": "Wed Feb 08 17:47:21 2017 +0100"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Wed Feb 08 08:47:21 2017 -0800"
      },
      "message": "Don\u0027t use generic types in constant expressions. (#32)\n\n* Don\u0027t use generic types in constant expressions.\r\n\r\nConstant expressions are not allowed to use generic types in Dart 1.\r\n\r\nFixes issue #31.\r\n\r\n* Update pubspec.yaml.\r\n"
    },
    {
      "commit": "893866425c6292712190ac1b7b0d28db6423a5e1",
      "tree": "52455dc25d50658477cbdb5fb8adf68105d0a7c3",
      "parents": [
        "6dabdd030e5bf8aee65c8f9e79316764c64428a7"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Wed Jan 11 17:39:24 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jan 11 17:39:24 2017 -0800"
      },
      "message": "Fix internal bug around listChanges (#30)\n\n"
    },
    {
      "commit": "6dabdd030e5bf8aee65c8f9e79316764c64428a7",
      "tree": "12e3edef02b2b7692202b56f73734e9b07bb23b5",
      "parents": [
        "2e35657068d70c6897d30f12a0179b5ab59b2cb2"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Dec 19 23:21:55 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Dec 19 23:21:55 2016 -0800"
      },
      "message": "Fix bug, tidy up. (#28)\n\n* Fix bug, tidy up.\r\n\r\n* Address feedback\r\n"
    },
    {
      "commit": "2e35657068d70c6897d30f12a0179b5ab59b2cb2",
      "tree": "508f8b56de9b94ad8230628826e1ab9553b3ebd9",
      "parents": [
        "3420fe41eda328c3695b25a422ab3723232b4230"
      ],
      "author": {
        "name": "Mohamed Hayibor",
        "email": "mohamedhayibor@gmail.com",
        "time": "Mon Dec 19 16:07:49 2016 -0500"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Dec 19 13:07:49 2016 -0800"
      },
      "message": "Add more details to README (#24)\n\n* Add more details to readme\r\n\r\n* Definition of an obsersable\r\n* What\u0027s for\r\n* Examples\r\n\r\n* Set md headers to same size\r\n\r\n* Update readme from Matan\u0027s feedback\r\n"
    },
    {
      "commit": "3420fe41eda328c3695b25a422ab3723232b4230",
      "tree": "0610eb101c347e87d2d19464e840e4257dd5f447",
      "parents": [
        "6854208c57e03b0fe29be253cc330f56904c365f"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Dec 09 18:29:39 2016 -0800"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Dec 09 19:09:14 2016 -0800"
      },
      "message": "Add test support for firefox\n"
    },
    {
      "commit": "6854208c57e03b0fe29be253cc330f56904c365f",
      "tree": "830acdf616c412b4e3580beb8bf548d55610e760",
      "parents": [
        "ff30848d973319c6559b966838dc1a38fc136a21"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Dec 09 17:50:10 2016 -0800"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Dec 09 19:09:14 2016 -0800"
      },
      "message": "Require Dart SDK \u003e\u003d 1.21\n\nAnd test on Travis accordingly\n"
    },
    {
      "commit": "ff30848d973319c6559b966838dc1a38fc136a21",
      "tree": "cf9873799bcf60c85b5e360b6bcf97c4f5a017a0",
      "parents": [
        "f5d2b065bcdfd3a543f3a8b75c4a1a914e5cf154"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Dec 09 17:48:32 2016 -0800"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Dec 09 19:09:14 2016 -0800"
      },
      "message": "more test cleanup\n"
    },
    {
      "commit": "f5d2b065bcdfd3a543f3a8b75c4a1a914e5cf154",
      "tree": "e3cecbc0c47312fb70a294e5686ccd2d04a8ef2f",
      "parents": [
        "e483240117139a054b3668051b92ee68f57848ed"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Dec 09 17:45:44 2016 -0800"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Dec 09 17:45:44 2016 -0800"
      },
      "message": "Use DDC-friendly test apis\n\nAlso removed no-op test\n"
    },
    {
      "commit": "e483240117139a054b3668051b92ee68f57848ed",
      "tree": "3241155ecc8788504a9e40fdda5a0e760a522486",
      "parents": [
        "b3e7ba6c14cb6b6bb9f96678effe471d6b026d94"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Sun Dec 04 14:09:05 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Dec 04 14:09:05 2016 -0800"
      },
      "message": "Patch observable list to restore discardListChanges (#23)\n\n"
    },
    {
      "commit": "b3e7ba6c14cb6b6bb9f96678effe471d6b026d94",
      "tree": "3442e4f0ad94beffb189bfef30e8b1f85e6f14d9",
      "parents": [
        "f7521fb37351625d135b71feb7f145729dfc00fc"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Fri Dec 02 09:29:37 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 02 09:29:37 2016 -0800"
      },
      "message": "bug(ObservableMap): Avoid no-op MapChangeRecord (#22)\n\n* bug(ObservableMap): Avoid no-op MapChangeRecord\r\n\r\ni.e., `notifyChange(new MapChangeRecord(this, \u0027key\u0027, \u0027someValue\u0027, \u0027someValue\u0027))`.\r\n\r\n* Run dartfmt.\r\n"
    },
    {
      "commit": "f7521fb37351625d135b71feb7f145729dfc00fc",
      "tree": "9384efc850eb08869c7732defdadafc74c2161f4",
      "parents": [
        "82093441c74a63c1aac7895fb477c9cd326b39f0"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Nov 28 19:06:32 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 28 19:06:32 2016 -0800"
      },
      "message": "Add unmodifiable versions of each observable collection (#21)\n\n* Add an ObservableSet implementation\r\n\r\n* Add tests, cleanup.\r\n\r\n* Cleanup licensing.\r\n\r\n* Add unmodifiable observable collections\r\n\r\n* Change versions.\r\n"
    },
    {
      "commit": "82093441c74a63c1aac7895fb477c9cd326b39f0",
      "tree": "186d5ab44752071ed68e207a9d9c6996cc8719cb",
      "parents": [
        "2376aaf5e821cf6d3c76b519b6866344686fecd4"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Nov 28 14:09:43 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 28 14:09:43 2016 -0800"
      },
      "message": "Add an ObservableSet to compliment List and Map (#20)\n\n* Add an ObservableSet implementation\r\n\r\n* Add tests, cleanup.\r\n\r\n* Cleanup licensing.\r\n"
    },
    {
      "commit": "2376aaf5e821cf6d3c76b519b6866344686fecd4",
      "tree": "bcac3f98ce2258212268ebf6a42d7802e8591718",
      "parents": [
        "c9b63407dbb177fa3821157f0257960c48812f37"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Tue Nov 22 17:28:59 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 22 17:28:59 2016 -0800"
      },
      "message": "Refactor observable map. (#16)\n\n"
    },
    {
      "commit": "c9b63407dbb177fa3821157f0257960c48812f37",
      "tree": "723cf793ab195a4ec79c1965f8a1fa99b29a5252",
      "parents": [
        "ca000612143841477ddbeb0067bc5e21fb98b55b"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Tue Nov 22 12:15:47 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Nov 22 12:15:47 2016 -0800"
      },
      "message": "Bug fix on Observable.notifyChange (#18)\n\n* Bug fix on Observable.notifyChange\r\n\r\n* Better fix.\r\n\r\n* Actual better fix.\r\n"
    },
    {
      "commit": "ca000612143841477ddbeb0067bc5e21fb98b55b",
      "tree": "82bf01c0cc405ea5aa647b6740e82d090b39cbfd",
      "parents": [
        "3d1cbce6da051492334fe8b17c2868b9ff61d362"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Nov 21 20:48:58 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 21 20:48:58 2016 -0800"
      },
      "message": "Refactor and deprecate parts of ObservableList... (#12)\n\n* Refactor ObservableList, start more deprecations.\r\n\r\n* More tests and fixes.\r\n\r\n* Fix remaining tests.\r\n\r\n* Add changelog for 0.18\r\n\r\n* Dartfmt.\r\n\r\n* Fix bad merge.\r\n\r\n* Tiny changes.\r\n"
    },
    {
      "commit": "3d1cbce6da051492334fe8b17c2868b9ff61d362",
      "tree": "adff77ccebda556c5bfaf178862d41a4380cd07a",
      "parents": [
        "d296efa9bc8f29bb7c1d9109813b188ecd7e5912"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Mon Nov 21 10:59:18 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 21 10:59:18 2016 -0800"
      },
      "message": "Revert PropertyChangeMixin (#14)\n\n"
    },
    {
      "commit": "d296efa9bc8f29bb7c1d9109813b188ecd7e5912",
      "tree": "cf1470373f469b59f89944625e787ce93f72e839",
      "parents": [
        "2446d7be394f40fafdaca6464f868c8c6d097a86"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Thu Nov 17 15:16:19 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 17 15:16:19 2016 -0800"
      },
      "message": "Deprecate Observable, add ChangeNotifier, setup travis (#11)\n\n* Deprecate Observable, setup Travis\r\n\r\n* Make changes suggested via review\r\n\r\n* Update .travis.yml\r\n\r\nRemove stable branch, as `collection` dependency won\u0027t resolve on it.\r\n"
    },
    {
      "commit": "2446d7be394f40fafdaca6464f868c8c6d097a86",
      "tree": "33343d1337628d6ef0e8269f390c9b92ba99314c",
      "parents": [
        "81bbeab8e6ca3b3fb2fda92a8cfd12b826011f8c"
      ],
      "author": {
        "name": "Nate Bosch",
        "email": "nbosch1@gmail.com",
        "time": "Thu Nov 17 10:35:03 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 17 10:35:03 2016 -0800"
      },
      "message": "Add `spy` constructor to ObservableMap (#4)\n\nSometimes it\u0027s useful to observe changes on top of a Map implementation\r\nwhich has different behavior from one of the built in map types.\r\n\r\n- Add a test calling the \u0027spy\u0027 constructor\r\n  Most functionality is already tested. Make sure that calling the \u0027spy\u0027\r\n  constructor delegates to the underlying map implementation.\r\n"
    },
    {
      "commit": "81bbeab8e6ca3b3fb2fda92a8cfd12b826011f8c",
      "tree": "5f4728fbe2c7e433a3b7fa62f654023df1ba1ca9",
      "parents": [
        "5d9eec7e00f07978d61b70056fa7bbd2dc207d6e"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Thu Nov 17 10:30:42 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 17 10:30:42 2016 -0800"
      },
      "message": "Add MapDiffer, cleanup MapChangeRecord (#8)\n\n* Fix bug in list_differ\r\n\r\n* Add MapDiffer and refactor MapChangeRecord\r\n"
    },
    {
      "commit": "5d9eec7e00f07978d61b70056fa7bbd2dc207d6e",
      "tree": "4303860a985eb0fef414d584f465e163dfe5088e",
      "parents": [
        "f85fdf28fefc6886b297ece36149d71f1e65ba42"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Thu Nov 17 10:29:03 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Nov 17 10:29:03 2016 -0800"
      },
      "message": "Fix bug in list_differ (#7)\n\n"
    },
    {
      "commit": "f85fdf28fefc6886b297ece36149d71f1e65ba42",
      "tree": "bd0fbd67acc10291f74fc9aa765ed93abba7a569",
      "parents": [
        "010bcd70f2f5bfc840601921baf8c26befcbde1d"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Wed Nov 16 17:12:52 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 16 17:12:52 2016 -0800"
      },
      "message": "Fix type issues in 0.15.0 (#6)\n\n"
    },
    {
      "commit": "010bcd70f2f5bfc840601921baf8c26befcbde1d",
      "tree": "a7277c3f897dbe3353121aff4dbd70770eb1cca8",
      "parents": [
        "eaafa82c002c87dbd64b0b2af6f49d73edc078ef"
      ],
      "author": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Wed Nov 16 12:12:29 2016 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Nov 16 12:12:29 2016 -0800"
      },
      "message": "Refactor List diffing/change records, add diffing interface (#5)\n\n* Refactor our a differ/list differ.\r\n\r\n* Fix bugs in mergeSplice\r\n\r\n* More fixes to the list differ.\r\n\r\n* Some debugging.\r\n\r\n* More fixes.\r\n\r\n* Fix remaining edge case missed.\r\n\r\n* Slight cleanups before PR\r\n\r\n* Update README\r\n\r\n* Add license headers.\r\n"
    },
    {
      "commit": "eaafa82c002c87dbd64b0b2af6f49d73edc078ef",
      "tree": "03bd34449edf019df61087ecc1eabf0ca36c9dce",
      "parents": [
        "6c976cf175554dd2b6bf27d8690e8b49d4cac618"
      ],
      "author": {
        "name": "mmmicedcoffee",
        "email": "miss.irene.chen@gmail.com",
        "time": "Tue Sep 27 16:28:44 2016 -0700"
      },
      "committer": {
        "name": "Matan Lurey",
        "email": "matanlurey@users.noreply.github.com",
        "time": "Tue Sep 27 16:28:44 2016 -0700"
      },
      "message": "Add test case for removeWhere() functionality on ObservableList\n\n"
    },
    {
      "commit": "6c976cf175554dd2b6bf27d8690e8b49d4cac618",
      "tree": "0afe4815dfc2e4b0243ceba73a7d2abffa9a4ab2",
      "parents": [
        "6bda15630803e4080ece609a05d7c84ffb6d0613"
      ],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Mon Sep 26 10:00:03 2016 -0700"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@users.noreply.github.com",
        "time": "Mon Sep 26 10:05:09 2016 -0700"
      },
      "message": "Add missing dependency on pkg/meta\n\nAnd a tiny strong-mode fix\n"
    },
    {
      "commit": "6bda15630803e4080ece609a05d7c84ffb6d0613",
      "tree": "a3fec0c23b59cc741b36b0935cddb8ae9caa718a",
      "parents": [],
      "author": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Sep 23 13:09:27 2016 -0700"
      },
      "committer": {
        "name": "Kevin Moore",
        "email": "kevmoo@google.com",
        "time": "Fri Sep 23 13:28:38 2016 -0700"
      },
      "message": "First commit of pkg/observable\n"
    }
  ]
}
