• v0.22.0 1983189b72

    v0.22.0
    All checks were successful
    CI / gate (push) Successful in 45s
    CI / image (push) Successful in 16s
    Stable

    joeyr released this 2026-08-04 22:23:18 -05:00 | 136 commits to main since this release

    Added

    An items name/icon dictionary in champion-builds.json. Every measurement in that file keys on a bare Riot item id, which made it the one artifact a consumer could not render without carrying a Data Dragon catalog of its own. It now ships the display strings.

    Same shape and same reason as champion-runes.json's perks and styles: an id appears in five lists per champion-role — owned.items, owned.boots, starting, core, late — so inlining the name would write a few hundred strings tens of thousands of times.

    Why the producer publishes them

    The names belong to generatedFrom.itemVersion. The ids in this file were classified boots-or-completed under one Data Dragon version. Names resolved against a different version drift every time Riot renames or reworks an item, and nothing downstream would detect it — the build list would simply start saying the wrong thing. Icon URLs are pinned to that same version.

    That is the argument against the alternative, which was to let lol-companion bundle its own catalog: it already bundles one for the overlay's gold math, so the machinery existed. But that copy has no relationship to the version this file was built against.

    No dead entries

    The dictionary is built by walking the finished builds object rather than by tallying ids as they are counted, so it holds exactly the ids the file references and no others. Any list that stops being published stops contributing for free, and a consumer can treat a lookup miss as a bug rather than as an id it was never meant to render.

    An id Data Dragon does not name is left out rather than written blank — a missing name costs a label, dropping the row would cost a measurement.


    Additive: every existing field keeps its meaning.

    Gate green: typecheck, lint, 541 tests across 29 files, build.

    Downloads