)]}'
{
  "commit": "ddc9430a0080bea73c5511732f396acde1f48fe0",
  "tree": "ff16c71ec151526bba46f19c7d68e9baba2dff1f",
  "parents": [
    "54eb7f2dd4f71983d3f381e2b195a067d8669e12"
  ],
  "author": {
    "name": "suojae",
    "email": "suojae.developer@gmail.com",
    "time": "Sat May 09 07:09:20 2026 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri May 08 22:09:20 2026 +0000"
  },
  "message": "[flutter_svg] add imageBuilder property to SvgPicture (#11615)\n\nrelated with flutter/flutter#182635\r\n\r\nThis PR exposes the `imageBuilder` support added to `VectorGraphic` in flutter/packages#11094 through `SvgPicture`.\r\n\r\n`SvgPicture` already supports `placeholderBuilder` and `errorBuilder`, but it did not provide a success-state builder. Without this API, callers have to wrap `SvgPicture` externally, which also wraps the placeholder and error states.\r\n\r\nAdding `imageBuilder` lets callers decorate or wrap only the successfully loaded SVG, while keeping loading and error UI separate.\r\n\r\n## Alternatives considered\r\n-  I chose `imageBuilder` because it follows the success-state wrapping pattern used by widgets like `CachedNetworkImage`\r\n\r\n## Changes\r\n\r\n- Added `SvgImageWidgetBuilder`.\r\n- Added `imageBuilder` to all `SvgPicture` constructors.\r\n- Forwarded `imageBuilder` to `createCompatVectorGraphic`.\r\n- Added tests for successful load and placeholder states.\r\n- Bumped `flutter_svg` to 2.3.0 and `vector_graphics` to ^1.2.0.\r\n\r\n## Pre-Review Checklist",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "72f941829e55c21a458c38c82d238c69fda412b5",
      "old_mode": 33188,
      "old_path": "third_party/packages/flutter_svg/CHANGELOG.md",
      "new_id": "4c8e2ba8177633b01183c4dec0c6ea25b94ab26e",
      "new_mode": 33188,
      "new_path": "third_party/packages/flutter_svg/CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "1b07cce42d8b9117e2d284f9b00c51cb91bbc50f",
      "old_mode": 33188,
      "old_path": "third_party/packages/flutter_svg/lib/svg.dart",
      "new_id": "cd059118eaee0cba663956d39a673ab8f5361e33",
      "new_mode": 33188,
      "new_path": "third_party/packages/flutter_svg/lib/svg.dart"
    },
    {
      "type": "modify",
      "old_id": "60d9d19d4e01acb1b9e3f6524ec8355c0d42854a",
      "old_mode": 33188,
      "old_path": "third_party/packages/flutter_svg/pubspec.yaml",
      "new_id": "f6300db9821e17a8c1c33b5dc5cbfc3c8c332029",
      "new_mode": 33188,
      "new_path": "third_party/packages/flutter_svg/pubspec.yaml"
    },
    {
      "type": "modify",
      "old_id": "358f3ba11f512e4f95f6560e0c2629cd4fceeded",
      "old_mode": 33188,
      "old_path": "third_party/packages/flutter_svg/test/widget_svg_test.dart",
      "new_id": "96834183a96618b21b553a5d143dc549852fda36",
      "new_mode": 33188,
      "new_path": "third_party/packages/flutter_svg/test/widget_svg_test.dart"
    }
  ]
}
