)]}'
{
  "commit": "df3e2f168061a64a6d5b23264ddf9674a6330851",
  "tree": "2a19a287a2b89b53ec16811400faee5b8b4d9706",
  "parents": [
    "d872cf8c8fca51b69a3d69241fce9a0e2f9192d9"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch@google.com",
    "time": "Tue Oct 01 17:43:26 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Oct 01 17:43:26 2024 -0700"
  },
  "message": "Add containsMatchingInOrder  containsEqualInOrder (#2284)\n\nThe joined behavior in `containsInOrder` has some usability issues:\r\n- It mimics the arguments for `deepEquals`, but it doesn\u0027t have the same\r\n  behavior for collection typed elements. Checking that a nested\r\n  collection is contained in order requires a `Condition` callback that\r\n  uses `.deepEquals` explicitly.\r\n- The `Object?` signature throws away inference on the `Condition`\r\n  callback arguments. With a method that supports only conditions the\r\n  argument type can be tightened and allow inference.\r\n\r\n\r\nDeprecate the old `containsInOrder` and plan to remove it before stable.\r\nThis is a bit more restrictive, but it\u0027s not too noisy to fit a few\r\n`(it) \u003d\u003e it.equals(foo)` in a collection that needs mixed behavior and\r\nthe collection of two methods is less confusing to document than the\r\njoined behavior.\r\n\r\nLean on the \"Matches\" verb for cases that check a `Condition` callback\r\nand rename `pairwiseComparesTo` as `pairwiseMatches`.\r\n\r\nFix a type check when pretty printing `Condition` callbacks. Match\r\nmore than `Condition\u003cdynamic\u003e` by checking `Condition\u003cNever\u003e`.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e52a3cb1b668488e7585e44b481849a49014f401",
      "old_mode": 33188,
      "old_path": "pkgs/checks/CHANGELOG.md",
      "new_id": "f0c3efb1fc4930cb3a2d8b61beacce53c64fb990",
      "new_mode": 33188,
      "new_path": "pkgs/checks/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "82c4e3c31426cb0dd1f36e667c686eca7a5d2bbc",
      "old_mode": 33188,
      "old_path": "pkgs/checks/doc/migrating_from_matcher.md",
      "new_id": "b358e63c95096c533b958c369b53f37c79544126",
      "new_mode": 33188,
      "new_path": "pkgs/checks/doc/migrating_from_matcher.md"
    },
    {
      "type": "modify",
      "old_id": "22eb90ea960351662cf00430ead0e73ca5158394",
      "old_mode": 33188,
      "old_path": "pkgs/checks/lib/src/describe.dart",
      "new_id": "f05a1640b197cfe1ddc751c1479ffa28cb05b7c8",
      "new_mode": 33188,
      "new_path": "pkgs/checks/lib/src/describe.dart"
    },
    {
      "type": "modify",
      "old_id": "2ab1bfa03b8b33aef4d86970d4158a2374eae00e",
      "old_mode": 33188,
      "old_path": "pkgs/checks/lib/src/extensions/iterable.dart",
      "new_id": "ecfa9c05e701a5a814bc0addd3ec44456c87b924",
      "new_mode": 33188,
      "new_path": "pkgs/checks/lib/src/extensions/iterable.dart"
    },
    {
      "type": "modify",
      "old_id": "175919d10a3b47679c807f09cf19cd4aef480994",
      "old_mode": 33188,
      "old_path": "pkgs/checks/test/extensions/iterable_test.dart",
      "new_id": "dafd84d74cff2ae7ca1a2f35687a9d39e9aec4f2",
      "new_mode": 33188,
      "new_path": "pkgs/checks/test/extensions/iterable_test.dart"
    }
  ]
}
