1.8.0

2026/07/30

A new Sankey chart showing where your attacks go, support for importing abilities that are restricted to certain keywords, and some roster import fixes.

  • Added a "Flow" tab to /crunch results, showing the whole attack sequence as one diagram: how many attacks hit, how many wounded, how many got past the save, and how much damage landed. Every dead end is drawn as well, so you can see whether misses, failed wound rolls or saves are costing you the most.
  • Changed the "Summary" tab to show the mean, mode and standard deviation, and removed the separate "Averages" tab. Nothing has been lost: the median it showed was the same figure as "Expected result", and the rest has moved across.
  • Added support for importing weapon abilities that only apply against certain keywords, such as DEVASTATING WOUNDS: MONSTER/VEHICLE or LETHAL HITS: non-VEHICLE. Previously these landed under Unmatched Abilities and you had to recreate them by hand.
  • Added the same support for unit abilities, so something like STEALTH: non-VEHICLE on a datasheet imports with its keyword restriction already set.
  • Fixed STEALTH and IGNORES COVER no longer being recognised by name once a keyword condition was added to them, whether imported or built by hand.
  • Fixed rosters being rejected, and units being skipped for having no Toughness, Save or Wounds, when the app that exported them left out ID information UnitCrunch never uses.
  • Added a clearer message for rosters that cannot be imported because the file does not record which model carries each weapon.