)]}'
{
  "commit": "1ef29b6fa84b837be96c1b5a83b7a0e6bc09aabd",
  "tree": "31e18d0b47c1952b3871c374c937e7de0f6c43ec",
  "parents": [
    "52ecefcaa17ff6cb378dfc7971d5655474a84285"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch1@gmail.com",
    "time": "Tue Jul 11 10:35:55 2017 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jul 11 10:35:55 2017 -0700"
  },
  "message": "Fix asyncWhere for broadcast streams (dart-lang/stream_transform#33)\n\nPrevious implementation may have failed to send onDone for some\r\nlisteners since each listener would increment `valuesWaiting` and only\r\nthe last listener would decrement it back to zero. There were also\r\npotential bugs if the predicate was non-deterministic.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "25d39a54ba951599c71927d88a9ed9350edf2513",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/CHANGELOG.md",
      "new_id": "1abe6056b50ddae09ba75c3a6a1ab2f881eb87d3",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "1bb2d6432874650d1b3833fd6cac786a070746d3",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/lib/src/async_where.dart",
      "new_id": "6a4fc329f17d61d6b11c4e4f270d5cc26fe71067",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/lib/src/async_where.dart"
    },
    {
      "type": "modify",
      "old_id": "919f931644f468c3935b6f649b12681ee41e8a24",
      "old_mode": 33188,
      "old_path": "pkgs/stream_transform/test/async_where_test.dart",
      "new_id": "18c34bc76e656b121995d1ab51c85e6388f8db53",
      "new_mode": 33188,
      "new_path": "pkgs/stream_transform/test/async_where_test.dart"
    }
  ]
}
