-
v3.4.3 — full Chromium sandbox + navigation hardening
StableAll checks were successfulCI / build-and-test (push) Successful in 2m3sreleased this
2026-07-19 10:32:13 -05:00 | 46 commits to main since this releaseChanged
- All three windows now run with the full Chromium sandbox (
sandbox: true). The preload script is bundled by Vite (vite.preload.config.mts) into a single self-contained CJS file whose only runtimerequireis'electron', which is what a sandboxed preload permits — previously it was tsc-compiled with an on-disk require of the shared IPC contract, forcingsandbox: false. No behavior change; renderer + preload now run fully sandboxed as defense-in-depth on top of the existing contextIsolation/CSP boundary. - In-window navigation is now blocked (
will-navigatehardening). The renderer never legitimately navigates, so any attempt is denied and logged; opening the update notice in the browser is unaffected. Dev-server reloads undernpm run devstay allowed. BRIDGE_VERSIONno longer needs a manual bump on release — the Vite preload bundle inlines it frompackage.jsonthe same way the renderer's version badge is inlined.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- All three windows now run with the full Chromium sandbox (
-
released this
2026-07-19 09:46:12 -05:00 | 47 commits to main since this releaseFixed
- Rune Import now highlights the board you actually imported, not always the first one. The accent edge used to sit permanently on the top (most-picked) row, so after importing a different combo nothing showed which page had landed. The board you import now gets a ✓ Imported marker and a success-coloured edge, its Import button becomes Re-import, and the top row keeps its "recommended fast path" styling. The marker clears when a new champ-select lock-in fetches a fresh list, and a failed import (error / pages-full) leaves it off.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-07-18 19:48:47 -05:00 | 48 commits to main since this releaseChanged
- Rune "pick" now means the share of all your games, not op.gg's within-group number. Each rune row's pick rate used to be op.gg's per-page figure — measured only against other pages with the same keystone — so the rows on one champion routinely summed well past 100% (e.g. Amumu jungle showing 89% + 80% + 82% + …). Each combo's pick rate is now its share of all of that champion and role's games, backed out of op.gg's own totals, so the rows read intuitively and never exceed 100%. The "games" count and win rate shown alongside are now the combo's rollup too (so all three share one denominator), while the page the Import button writes is still the combo's most-played variant.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-07-18 19:28:22 -05:00 | 49 commits to main since this releaseAdded
- Enemy lanes are now guessed automatically. Locked enemies no longer pile up under "Unassigned" with a "LANE?" prompt — the board places each one into its most likely lane using the op.gg per-position tier lists (e.g. Kindred → Jungle, Nautilus → Support, Senna → Bottom when Nautilus holds Support), and the lane dropdown shows the guess as its default (e.g. "Guess · Jungle"). Picking a lane by hand still overrides any guess, manual/LCU-known lanes are never guessed over, and a champion with no tier data is only placed when it's the last one left. The guessed lanes also feed counter-pick targeting, so "VS YOU" and Suggested Picks lock onto your likely lane opponent without any clicking.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-07-18 15:11:16 -05:00 | 50 commits to main since this releaseAdded
- Rune tooltips now say what each rune does. Hovering any perk on a rune board (runes and stat shards alike, plus the header keystone icon) shows its description under the name — e.g. "Triumph — Takedowns restore 10% of your missing health…". The text comes from the running League client's own perk catalog (
GET /lol-perks/v1/perks, a read-only localhost call), so it always matches the client's exact patch and language; if the catalog hasn't resolved yet, tooltips fall back to the name alone.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Rune tooltips now say what each rune does. Hovering any perk on a rune board (runes and stat shards alike, plus the header keystone icon) shows its description under the name — e.g. "Triumph — Takedowns restore 10% of your missing health…". The text comes from the running League client's own perk catalog (
-
released this
2026-07-18 14:51:20 -05:00 | 51 commits to main since this releaseChanged
- Internal maintenance — no user-facing changes. The op.gg scrapers now share one common module (position slugs, URL scheme, embedded-JSON extraction, error mapping), the main-process startup was decomposed into focused wiring functions, and the renderer store gained a single bridge accessor with
this-free action types. - Tooling: type-checked ESLint now gates CI (typecheck → lint → tests → build), and the repo declares
engines.node >=22.19, an.nvmrc, and an.editorconfig. A handful of latent nits the new lint surfaced were fixed (dead stores, untyped JSON parses, a non-Error promise rejection, a zero-width space in a comment).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Internal maintenance — no user-facing changes. The op.gg scrapers now share one common module (position slugs, URL scheme, embedded-JSON extraction, error mapping), the main-process startup was decomposed into focused wiring functions, and the renderer store gained a single bridge accessor with
-
released this
2026-07-18 10:52:43 -05:00 | 58 commits to main since this releaseChanged
- Rune boards now sit two per row (2x2 for the usual four combos). Each full-width card in v3.2.0 left the right half of the window empty; the combo cards now share rows in a two-column grid, falling back to one per row in narrow windows so the perk rows never crush.
Installers (Windows x64):
LoL-Companion-3.2.1-setup.exe(NSIS) andLoL-Companion-3.2.1-portable.exeattached below.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-07-17 18:09:33 -05:00 | 59 commits to main since this releaseAdded
- Full rune boards in the Rune Import section. Every recommended combo now renders the complete rune page the way the League client shows it — all four primary-tree rows, the secondary-tree rows, and the three stat-shard rows, with every rune icon on the board and the page's actual picks highlighted (the rest dimmed). Previously each combo was a single compact row showing only the keystone icon and text stats.
Changed
- Suggested Picks disappears once you lock in. Counter suggestions exist to help choose your pick, so after your own champion is locked they're dead weight — the section is now dropped at that point and the freed space goes to the full rune boards (which appear only after lock-in).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-07-15 22:09:50 -05:00 | 60 commits to main since this releaseFixed: the imported rune combo now shows up in the League client itself, not just the app's toast.
v3.1.1/v3.1.2 only reworded the companion's own success message. The real rune page name written into the client (visible in its rune-page dropdown) still read just "LoLC: Lux Support" with no way to tell which combo had landed. The page name now carries an abbreviated combo suffix too, e.g. "LoLC: Lux Supp Sorc+Dom", truncated to fit the LCU's ~25-char page-name cap.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
released this
2026-07-15 21:02:16 -05:00 | 61 commits to main since this releaseFixed
- Rune import success message now leads with the page name. v3.1.1 led with the combo (
Imported "Sorcery + Domination" as "LoLC: Lux Support"), but the"LoLC: ..."page name is what you actually see in the client'''s own rune-page dropdown, so the message now leads with that and puts the combo in parentheses:Imported "LoLC: Lux Support" (Sorcery + Domination) — applied in your client.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Rune import success message now leads with the page name. v3.1.1 led with the combo (