Fix and add some arena variants of newer items it's been forgotten for this many months?
Migrate to lol wiki for mode balance stat overrides, add arena mode stat overrides, expected enemy build are always 6 items, enemy stats don't have runes in non-runes modes. Replace the Meraki champion scrape with League wiki ChampionData parsing, including a new Lua table parser, Arena schema/output, and updated ARAM/Arena mode overrides. This also normalizes scraped expected builds to six non-Tear items, applies Arena stat modifiers in combat calculations, and clears enemy runes in special modes like Arena and ARAM Mayhem.
[AUTO] Update 16 JSON files
[AUTO] Update 16 JSON files
Restore 18-level skill orders and late build items.
[AUTO] Update 16 JSON files
Use lolalytics' wukong slug for MonkeyKing.
[AUTO] Update 16 JSON files
Scrape popular builds from op.gg and lolalytics. League of Graphs answers the CI runner with a Cloudflare challenge. Those two sites return the build page.
Follow redirects in the stats-site probe.
Probe alternate stats sites from the CI runner.
[AUTO] Update 16 JSON files
Use the CI job token for scheduled scrape pushes. GL_TOKEN is revoked, so the weekly job authenticated and then failed the push.
Show Riot rate-limit errors instead of 'No game found'
Implement more Arena and ARAM Mayhem stat augments Warlock Juicebox, Purist Caster, Aim for the Head, Don't Blink, and Dashing, plus marking already-coded Slap Around and Tap Dancer as implemented.
Add deployment ID Add a deployment ID to the Next.js config to help isolate builds.
Fix changelog listing on the live site
Fix changelog not showing recent updates
Fix Muramana missing from Kayle damage calculations
Add more Arena and ARAM Mayhem augments Item upgrades (Death's Dance, Ravenous Hydra, Sundered Sky, Sword of Blossoming Dawn, Zhonya's), Quest: Ultra Hydra with a working item icon, and several missing combat augments. Quest: Ultra Hydra now uses the same name style and tooltip as other quests.
Update Arena and ARAM Mayhem augments Correct several augment values to match current patch notes, and add Accelerating Sorcery, Mystic Punch, Hand of Baron, Phenomenal Evil, and dragon soul augments to the picker.
Cut GitLab CI minutes: one pages job, skip full-champ tests
fix test for new patch
Fix nested button in summoner search
Speed up build scan without changing ranking
Cut GitLab CI minutes: no branch-push pipelines, skip all-champions off master Drop the install job, skip tests on data-only scrapes, prune merged branches, and only run the full champion suite when FULL_CHAMP_TESTS=1.
Keep forced items in their slots when calculating builds
Pages open faster
fix changelog on Cloudflare Pages lolmath.net builds with a shallow clone and no GitLab token, so fall back to a bundled commit list when git/API return too few entries.
fix changelog on GitLab Pages Use CI_JOB_TOKEN (or GITLAB_CHANGELOG_TOKEN) for the commits API, and fall back to git log with git installed in the build image.
fix changelog page showing no commits Read recent commits from local git instead of the GitLab API, which 404s without a token and left the page empty.
Cut build calculation time by about half Tighter item search, skip invalid combinations sooner, and cheaper combat scoring. Recommended builds stay the same.
fix combat scenario copy
fix scraper for MR per level
a fix for league classic champion images
deps up
Ignore League Classic Champions in Scrape
Skip incomplete champion data instead of saving it
Fix weekly champion data update failing to run
deps(discord): clear 15 advisories in the notification bot The discord/ sub-project was never covered by the earlier audit pass: running `pnpm audit` from inside it resolves the parent workspace rather than the bot, so it silently reported the root project's results. Audited directly it had 15 advisories (6 high, 7 moderate, 2 low), all reaching it through discord.js. - discord.js ^14.21.0 -> ^14.27.0, which moves its own undici floor to ^6.27.0 and clears six of the undici advisories outright. Three transitive packages remain pinned below their fixed versions by intermediate parents, so they are handled with overrides declared for both bun (the notify job runtime) and pnpm: undici ^6.28.0 (@discordjs/rest allows <6.23.0) ws ^8.21.1 (@discordjs/ws allows <8.20.1) lodash ^4.18.1 (@sapphire/shapeshift allows <=4.17.22) Verified: `bun audit` and `pnpm audit` both clean in discord/; the bot entry point still bundles cleanly against the new dependency tree.
deps(scraper): consolidate open Dependabot bumps and clear scraper audit Supersedes the three open Dependabot PRs against /scraper, all of which were stale against master: #66 ajv 8.17.1 -> 8.18.0 (landed on 8.20.0) #64 lodash 4.17.21 -> 4.17.23 (landed on 4.18.1) #35 undici 6.21.3 -> 7.18.2 (landed on 7.29.0) The scraper's pnpm-lock.yaml had drifted badly from package.json -- it still pinned removed packages such as @types/cheerio and resolved undici to 6.21.3 even though cheerio 1.1.2 requires ^7.12.0. Regenerating both lockfiles reconciles them and picks up the bumps above. `bun audit` additionally flagged two transitive packages whose parents still allow vulnerable versions, neither of which Dependabot had opened a PR for. Both are pinned via overrides, declared for bun (the scrape runtime) and pnpm (the lockfile Dependabot tracks): undici ^7.29.0 (cheerio allows ^7.12.0; <7.18.2 is vulnerable) fast-uri ^3.1.5 (ajv allows ^3.0.1; <3.1.3 is vulnerable) Verified: `bun audit` and `pnpm audit` both clean in scraper/; scraper typecheck output is unchanged from master (the remaining cheerio `Element` and unknown-catch errors are pre-existing).