)]}'
{
  "commit": "4ca3b88a34e02d534bb800a803e81217ee11cc60",
  "tree": "df7db5e835a06b51d097e5b1b5a1f238f6ad815a",
  "parents": [
    "2210ed8799c0128504dd664a7179f4f8f299e85a"
  ],
  "author": {
    "name": "philter",
    "email": "hello@rive.app",
    "time": "Tue Sep 01 19:36:24 2026 +0000"
  },
  "committer": {
    "name": "philter",
    "email": "hello@rive.app",
    "time": "Tue Sep 01 19:36:24 2026 +0000"
  },
  "message": "fix(runtime): keep pre-7.3 files on the legacy text sizing path (#13886) 9fe2b415a7\n#13223 made a layout-controlled text\u0027s box always match its layout slot, and let overflow modes engage for auto-sized text inside layouts. The fix is right, but it changes how existing files render: wherever a hug layout\u0027s min/max made the slot disagree with the content, bounds move — and overflow properties that had always been inert suddenly take effect, so a text someone set to ellipsis years ago and saw do nothing now truncates.\n\nGate the new behavior on the file\u0027s riv version. Text::import stamps m_layoutSizesBox from the import stack (\u003e\u003d 7.3); below that, bounds fall back to content size and overflowAsFixed() collapses to its pre-#13223 form. Every call site already routed through that one predicate, so the legacy path is an exact revert rather than an approximation.\n\n7.3 is the existing bump from #13400 (Aug 5) rather than a new one, and that dates well: it postdates #13223 (Jul 24), so every file stamped 7.3 genuinely has the new behavior. Only exports from the Jul 24 – Aug 5 window are misclassified as legacy.\n\nCo-authored-by: Philip Chung \u003cphilterdesign@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9e5f0125b51083ef3136973c70ba89eb27e222ec",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "358d82e549f9ad7c013b1df232411a4114b1171a",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "874bfae8156a01b36edf26fd5d878b1c434602b6",
      "old_mode": 33188,
      "old_path": "include/rive/text/text.hpp",
      "new_id": "62b2d5ea0f862a32d5a98e257d5a746c45064fc8",
      "new_mode": 33188,
      "new_path": "include/rive/text/text.hpp"
    },
    {
      "type": "modify",
      "old_id": "2d703a8aa4008ea3d3ef2c66dd8a8932c9ef5716",
      "old_mode": 33188,
      "old_path": "src/text/text.cpp",
      "new_id": "7ac912a2e69a5a488cf9ad29b7f21565904a2c63",
      "new_mode": 33188,
      "new_path": "src/text/text.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "990bc5f4a26a73cbd5c86838e4fd0ee6ec3b5b84",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/text_layout_7_3.riv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e667206c8d9b24f31400a1e3b96f4ecc98a8670",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout/text_layout_pre_7_3.riv"
    },
    {
      "type": "modify",
      "old_id": "a5592b482022a5623cc8fa4a23dcd1672ede4cee",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/assets/layout_text_match.riv",
      "new_id": "dea469f6b82b4285e46cc3d32310ce3a2dc35ec5",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout_text_match.riv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f8551a6826e1aa2e968c2d007f003d7c73a3f7d9",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/assets/layout_text_match_7_3.riv"
    },
    {
      "type": "modify",
      "old_id": "04c0cf5b21fddfbeae8ea4c94fd72a32ffcb18e6",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/runtime/text_test.cpp",
      "new_id": "2163923901cc3f42f70e7ea75a45591fdc112b50",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/runtime/text_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "a1914ca10ddc8832e03c6b166b03a6aef5aec680",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/silvers/data_viz_demo.sriv",
      "new_id": "3198c384ba736488339bdf510a21c50b5f75a381",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/silvers/data_viz_demo.sriv"
    },
    {
      "type": "modify",
      "old_id": "6831c3bfab8b5a71a0f87e950cab64dd5ccef9be",
      "old_mode": 33188,
      "old_path": "tests/unit_tests/silvers/layout_text_match.sriv",
      "new_id": "c3e9c363ab1e066f5e93fe8e14b2a2412aef555f",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/silvers/layout_text_match.sriv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f346d095f01537853e3044de28e77088efec97a",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/silvers/layout_text_match_7_3.sriv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "691a9ae7fd58146f6398df318fc208be8f7079b5",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/silvers/text_layout_7_3.sriv"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5b4aeed0a70933d14b8b83ceb0fe445a9c9420fd",
      "new_mode": 33188,
      "new_path": "tests/unit_tests/silvers/text_layout_pre_7_3.sriv"
    }
  ]
}
