)]}'
{
  "commit": "d270d51aa590f69a92fc76dec985eaeeaf6a0a87",
  "tree": "ba5a50740f15a176f809e9761b31e7a93381d51b",
  "parents": [
    "5a897b2ff53d681a5fd1e4b86e94252970f7b719"
  ],
  "author": {
    "name": "Nate Bosch",
    "email": "nbosch@google.com",
    "time": "Wed Jun 03 09:26:37 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jun 03 09:26:37 2026 -0700"
  },
  "message": "Handle objects with empty toString (#2662)\n\nThe approach to building text descriptions involves appending and\nprepending text to string iterables. If the \"base\" of the string\ndescription is an empty iterable it propagates through as empty, which\ncan cause missing lines from the failure output.\n\nAdd a fallback of `\u0027empty toString()\u0027` in the case any object returns a\ncompletely empty string representation.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9626e53e414a637f76e36a9c31f313064d654cfb",
      "old_mode": 33188,
      "old_path": "pkgs/checks/CHANGELOG.md",
      "new_id": "dce83f6e4280fefeca1735d921fbc46e84222961",
      "new_mode": 33188,
      "new_path": "pkgs/checks/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "f5cf7a5eccfec3ad37cd258b19fd9fd1d219c562",
      "old_mode": 33188,
      "old_path": "pkgs/checks/lib/src/describe.dart",
      "new_id": "6ee4560d5fc2f6c66f6612667c64c1cfeaa0554c",
      "new_mode": 33188,
      "new_path": "pkgs/checks/lib/src/describe.dart"
    },
    {
      "type": "modify",
      "old_id": "1c64eee615b3f6f534956fbf236648e2b9ab61e7",
      "old_mode": 33188,
      "old_path": "pkgs/checks/test/failure_message_test.dart",
      "new_id": "fb4787ae772340c6d7e71e6ce89602629c4577b3",
      "new_mode": 33188,
      "new_path": "pkgs/checks/test/failure_message_test.dart"
    }
  ]
}
