What is new in 0.1.160
CarryForge 0.1.160 is the approved design canvas, applied verbatim. The home page now opens with a meta spotlight — every role behind tabs, drawn from the same source as the Meta table — alongside your avatar, region chips, a rank emblem with its win rate and KDA rings on recent matches. The final build screen gained its full anatomy: bans and the two-sided win bar on top, team cards with the composition radar, and a three-pane body with synergies and counters on the left, the complete rune page and skill grid in the middle, and spells and items on the right; the import control sits at the top right of each pane and honestly turns back into a button the moment something changes. A fourth package, Your Set, is entirely player-built: items ranked by the win rate of your own archive, suggestions for your role and this draft on top, and a searchable catalog of every item — drag or click into six slots, save per champion, and import the set straight to League. The champion page’s build and counter panels now genuinely scroll inside the artwork instead of clipping, and the ability video gained an info panel with the full description, cooldown, cost and range, read from Riot’s own data.
CarryForge 0.1.159 finishes translating the approved designs into the product and adds a Collection tab. The in-game ward countdown pill now docks directly above your real trinket slot — and a bug that had kept the ward module from ever drawing in live matches is fixed, so the countdown shipped in the previous release actually appears now. After you lock in, the final build screen shows the full ten-player roster with a team-composition radar, and a side rail carries your ally synergies and measured counter evidence next to the build; where there is no measurement, no rail is drawn. The new Collection tab lists every skin and ward skin with what you own, read straight from the League client — missing ones show grayed with a lock, and the catalog grows by itself as Riot adds content, because it is never copied to our servers.
CarryForge 0.1.158 ships the approved Elektrik look everywhere: pure-black OLED is now the default theme with an electric blue accent, the sidebar becomes a grouped, icon-led menu with your account card at the bottom, and the native in-game HUD is aligned to the same accent without touching its measured layout. The full rune page in champion select is now directly editable — click any slot to swap it, exactly like DPM and Blitz; the page you see is the page that gets imported, and the checkmark honestly drops if they ever diverge. Champion pages gained day-by-day win/pick/ban trend charts and the Meta table a patch-delta column; the in-game ward row now counts down to your next trinket charge from an observed charge use, staying silent rather than guessing when it saw none. Region is detected automatically from the League client, so the picker left Settings.
Draft board rebuilt as a two-layer tabbed deck; champion pages gained build variants, community stats and measured matchups; the whole app moved onto the darker glass shell.
CarryForge now speaks one premium visual language everywhere: a matte, edge-to-edge DPM-inspired shell across the dashboard, data tables, secondary windows and the native in-game HUD. Champion select has been rebuilt as a dense three-zone Blitz-style workbench with a live Meta, Synergy and Counter rail, a focused recommendation grid and a contextual inspector instead of large empty areas. Final Build follows an iTero-style decision model with three clear routes — draft-optimized, stable high-win-rate and durable — divided into Starting, Core, Situational and Late Game blocks; if you buy something else in game, that purchase becomes the new core and the remaining route adapts. The native HUD shares the same restrained hierarchy and now raises a single preparation banner when a measured Dragon or Baron spawn reaches thirty seconds.
OP discoveries now come from the community as well. Until this release they could only surface from your own matches; now decisions that players in the shared pool tried and made work — ones you have never played — appear in their own section, labelled as a community find rather than yours. The thresholds were measured against a live pool of 545,304 player rows: a row needs at least 150 matches, it must clear a statistical significance bar, and it must be a minority choice, because a decision the majority already makes is the meta rather than a discovery. Underneath your own discoveries, what the pool says about the same decision now sits on its own line, and the two match counts are never added together. Transferring a discovery also works as shown: the rune on the card could previously differ from the one written to the client, and the discovery now carries the real purchase order from the matches where you made that decision — up to four items, as far as the evidence reaches, with boots and the defensive slot still measured from the draft. Champion select moves to a two column pick screen: the right column is given entirely to the build package while the left carries meta and counters, and the measured counters against your lane opponent keep their evidence bar of twenty matches before a win rate is printed.
This release removes an invisible cost and delivers a look you were meant to see two versions ago. The live draft window in 0.1.146 and 0.1.147 carried a silent render loop that kept the processor busy for the entire champion select — nothing visible on screen, just wasted CPU next to a running game. It was traced by bisecting released versions, and both root causes are fixed and locked with tests. Second: the damage-split bars and the leading recommended-package card introduced in 0.1.147 shipped without their styling because their CSS landed in a file the app never loads — the intended design now actually renders. Third, a density pass on the draft screens: ban alternatives are full-width rows so the evidence text is never cut off, the wait-for-your-turn chip is no longer repeated on every row, the suggestion list opens with eight rows instead of five, and the item build order connects its steps with arrows.
This release brings the draft screens up to the class of the best companions, and repairs two bugs found in a real match. In the dense layout the recommended package now leads on a large card with the five evidence sets folded into a secondary list — one clear answer first, the full evidence a click away. The pick phase shows both teams’ damage-split bars, counted from champion classes and labelled plainly as such rather than passed off as real match damage. Hovering a row in the ban list opens a rich card: patch strength, the measured ban rate where one exists, the reasons behind the suggestion, and measured strong-against and weak-against strips — where there is no measurement, no strip is drawn. Hovering only ever opens a display; everything that writes to your League client still requires a deliberate click. The two repairs: item and spell icons could freeze on letter placeholders after a transient startup error and never recover — they now retry as soon as the correct address arrives; and the “loading cached patch data” notice could hang on screen for the whole match after a cache hit — it now clears when the work is done. The tables grew too: the synergy ladder gained a two-role family picker and clickable column sorting, the meta table four sortable columns and a hint explaining how the tier badge is computed, and the ARAM table an honest personal pentakill column.
This release fixes who the skill order listens to, completes the support build, and puts the community pool on its own engine. Skill max advice drawn from the community now reads only the slice for your role — a support Seraphine no longer inherits a mid-lane max order just because mid games dominate the pool — and thin or losing samples (under 8 games or 45% win rate) step aside for the curated table instead of overriding it. Support plans now say which quest reward to take once the support quest completes — Dream Maker, Zaz’Zak’s Realmspike, Celestial Opposition or Bloodsong, matched to your champion’s kit and placed right after your first item, flowing into the in-client item set as well; the mapping is derived from what the kit does, and is not a win-rate claim. And the community pool now grows on its own: the server continuously ingests new ranked games from fifty verified high-elo accounts — even while the app is closed — so draft suggestions, synergy and counter measurements keep sharpening from fresh high-level play. The records are the same anonymous shape as ever, no match is counted twice however many sources see it, and both champ select windows now settle on one identical evidence packet per lobby instead of racing each other.
This release makes your skin collection visible and corrects what it was claiming. The profile page now shows the collection as small artwork tiles, and “See all” opens the whole thing in its own window with search and a rarity filter; the skin names come from League itself rather than being reconstructed by us. The numbers changed too, and it is worth saying why. Rarity used to be guessed from a short hand-written list, so most skins were mislabelled — it now comes from Riot’s own catalogue. The total dropped as well: the client inventory also reports every champion’s base look and old “classic” forms as owned, and those are no longer counted as skins. The RP figure is labelled plainly as an estimate, because Riot publishes rarity and not price. Two smaller repairs round it out. The draft window now closes itself when champion select ends and the loading screen begins — the code for that existed but never ran, and a second case where it also failed on back-to-back queues is fixed. And if you edit the rune page after the package has already been sent automatically, the checklist no longer claims the runes were imported; the mark drops and tells you to import once to send the page you edited.
This release replaces the right-hand column of champion select. While you are picking it no longer repeats a small copy of the build you already have open; it answers your lane opponent instead — champions from your own role pool, ordered by measured win rate, each row carrying the number of games behind it. Only matchups measured over at least twenty games are listed, and where there is no measurement no row is drawn rather than a guess being filled in. Those rates are read from lane matchups in your archive and the community pool and corrected for sample size; they are CarryForge measurements, not Riot statistics. Your skin collection is visible again: Riot moved the client endpoints the app was reading and every one of them began returning 404, so the card sat on “the League client must be open” even while League was running — it now reads the endpoint that still works. The four build set names — Hybrid Core, Draft Engine, Pure Archive and OP Discovery — stayed in English whatever language you had chosen, and are now translated into all eight. And with the dense draft layout switched on, the rune page in the champion select window is editable in place: click any slot to change the rune, the package updates immediately, and that edited page is what gets sent to League when you import.
This release rebuilds the visual language and opens up the build screen. Cards, tables and panels now share one flat, opaque surface with a single accent rather than the older glass-and-gold treatment, and the home page leads with your profile, your metrics and a compact match rail. The champion select build screen gained a dense layout — the complete rune page with every row and shard, a level 1–18 skill grid, and items grouped into spells, starting items, the full purchase order and situational picks. Hovering a rune now explains what it actually does, read from Riot’s own data rather than written by us. Ban suggestions sit next to the counters for the champion you are considering. The dense layout is a preference: turn it off under Settings and every screen keeps its previous arrangement exactly. Under the surface, contributing to the community pool now actually works. Uploads were blocked whenever the app was still filling your match archive — which, on an account with a long history, is most of the time — and a single record the server could not accept would stop the entire contribution until the app was restarted. Both are fixed, a batch is now stored all-or-nothing so the pool cannot accumulate duplicates, and the same match uploaded by two different players is counted once. Settings shows a contribution receipt: how many matches went out on the last round, how many are still queued, and, if the server refused something, what it refused — as a category, never as your data. The privacy guarantee is unchanged: a contributed record carries champion, role, patch, queue, runes, items, skill order and result, and never a player name, Riot ID, match id or account identifier.
This release adds a fifth build set and repairs how your matches reach the community pool. Your Picks shows what you actually choose most often on a champion — the item order, the full rune page, summoner spells and skill order, all read from your own recorded games. It is deliberately measured by frequency, not win rate: the goal is to show your habits, not to rank them. When your lane opponent is known the set narrows to "what you pick against them", falls back to the enemy composition when that slice is too thin, and then to the champion overall — and the badge always names which slice is speaking. It learns only from the account you have linked; without a linked account it stays honestly empty rather than passing a shared pool off as your own choices. The second change is invisible but larger: the anonymous summary of your matches was not reaching the community pool at all. Arena summoner spell pairs were encoded outside the range the server accepts, the server rejected those records, and the upload stopped at the very first batch — every session, because the newest matches are sent first. A value that cannot be represented is now never written, and a single rejected record can no longer halt the entire contribution. Measured against a real archive, the rejection rate went from 8% to zero and a session went from contributing nothing to contributing roughly 1,800 matches. The privacy guarantee is unchanged: a contributed record carries champion, role, patch, queue, runes, items, skill order and result — never a player name, Riot ID, match id or account identifier, and the server rejects any record that carries one.
This release makes the community pool mutual, and it changes a default you should know about: contributing anonymous build data is now on by default. Every account you link feeds the pool and every suggestion you get is drawn from the whole community, which is the only way the recommendations improve for anyone. The guarantee has not changed - a contributed record carries champion, role, patch, queue, the rune page, the first items, the skill order and the result, and never a player name, Riot ID, match id or account identifier; the server rejects any record that carries one. You can switch it off at any time under Settings, and switching it off stops all future contributions immediately. Six kinds of pooled data that the app was downloading but silently discarding - second and third item, boots, secondary rune tree, skill order and summoner spells - now actually reach your suggestions, and summoner spells are learned for the first time. Every game mode also learns its own runes and items now: Arena, Brawl, Mayhem and Classic were previously skipped entirely, and nothing crosses between modes, so a Rift suggestion can never come from an Arena game. Removing an account no longer has to mean losing what it taught the app - there is now a separate "hide" action that keeps syncing and learning while taking the account off the list. The Meta tab opens in place instead of spawning a second window.
This release widens what the recommendation engine actually learns. Until now a recorded match contributed only the keystone rune and the first completed item for each of the ten players; it now contributes the full rune page — both trees, every selected rune and the stat shards — plus the first three legendary items and the boots, all read from the real purchase order rather than the end-of-game inventory. None of this needs extra requests: the data was already inside the match and timeline payloads the app downloads. Matches recorded earlier are re-read in the background, so your existing history is upgraded rather than left behind; the progress counter sits under Settings → Match archive. Contributed community records carry the same fields and the same guarantee as before: no player name, Riot ID or match id, and the server rejects any record that carries one.
This release makes the anvil and augment reference open itself. In Mayhem, Brawl and Arena the window appears when the match starts, follows the champion you are actually playing — including a swap from the bench — and stays open until you close it; close it and it stays closed for that match. Only modes that really have anvils or augments trigger it, and you can turn the whole thing off in Settings. The HUD’s next-item line now also tracks the item set sitting in your client mid-game, not just at champion select. And the benchmark card no longer overflows the right edge at 1920×1080: panels are measured with the size they are actually drawn at and kept inside the game area. One limit stated plainly: Riot does not publish the augments you are offered, so the window ranks the whole catalogue by fit for your champion and build rather than pointing at one of the three on your screen.
This release rebuilds the objective panel and widens where build advice comes from. The in-game objective timers now use Riot’s own dragon, Baron and inhibitor minimap art instead of hand-drawn shapes that were too small to recognise, the dragon row names the element that was actually taken, and the panel sits directly under the benchmark card rather than at the bottom of the screen. The card itself drops its gold and objective rows — the same comparison is already on the Tab scoreboard in full. Build and rune suggestions now read a community layer first and fall back to your own history, which is kept and shown as a “Your style” label rather than being discarded. Duo synergy is measured from all ten champions in every recorded match instead of only the four allies next to you, so pairings you never played yourself are rated too. Contributing anonymous community data is still opt-in and off by default; a contributed record carries champion, role, patch, queue and result — never a player name, Riot ID or match id. Ratings and win probability remain CarryForge estimates from your archive and the community pool, not Riot statistics.
The in-game card now shows a jungle route line when you carry Smite, plus an audio alert 30 seconds before Dragon and Baron; champ select gained a likely-opponents strip and two personal insight cards (advice calibration and playstyle). The Tab scoreboard pills are also crisp again: clipped digits, a chevron glued to the pill and a shrunken font were repaired and locked with tests. CarryForge also starts automatically with Windows so it is ready before you queue — you can turn this off under Settings → Start with system. This release also makes draft advice look ahead. Teammates’ declared but still unlocked champion intents now enter the pick score at half weight with their own visible reason, and while your lane opponent is unpicked the suggestions weigh measured counter-pick exposure against the likely opponent pool — once the lane locks, the real measured matchup takes over, and when too little measured data exists the engine stays silent instead of guessing. Live loadouts are role-correct in all five seats: a marksman assigned Support, Senna included, gets Support economy and item paths instead of ADC defaults, and every seat’s runes, spells and skill order come from that seat’s own evidence. Ban advice appears during the client’s real planning phase and shows the reason, source, sample size and confidence behind every suggestion. The synergy ladder no longer lists every duo twice, and the meta tier list no longer shows the same champion as both a curated estimate and a live row. The app opens instantly from a compact local cache while game data refreshes in the background, and uses measurably less memory on large match archives.
This release opens up the build screen and the pick phase. Champ select now draws the whole rune page — every row, the secondary tree and the stat shards, chosen runes lit and the rest dimmed — alongside a level 1-18 skill grid and items grouped into summoner spells, starting items, the full purchase order and situational picks; the skill grid is derived from the max order and League's fixed rules rather than guessed. The role tier list no longer disappears when an ally picks, and under it a list of answers now grows for every enemy that locks in, your own lane opponent first: measured matchups lead, sorted by win rate and carrying their sample size, while unmeasured suggestions stay labelled and never outrank a measured one. Your skin collection is remembered from the last successful read and shown with its date, so it is not empty every time you look after a game, and "client closed" is now told apart from "client open but unreadable". Hidden accounts finally have their own section with Show and remove buttons — hiding one is no longer a one-way trip. On the server side, the per-patch strength table used to freeze on the day a patch landed, when the sample was still empty; it now keeps retrying until real measurement arrives.
This release makes the draft read the enemy team correctly. All five enemy seats are now solved together, so the same draft produces the same lane assignment no matter what order the picks arrived in — previously the first champion to arrive claimed a lane, and a support could be read as the bot carry while a solo laner was pushed into mid. How forced each placement is gets measured as well: when a swap would cost nothing the screen says "Estimated" and that enemy is not treated as a confirmed matchup, so the narrowest learning slice stays shut rather than filling with the wrong opponent. Build cards now carry names that match your seat — Recommended, Tank Shredder and Survive on bot carry, Support core, Team utility and Durable on support — and the line beneath each card explains why that package was chosen rather than restating what it is, naming the item the draft actually changed. Your lane opponent also reaches the build itself instead of being averaged away across the enemy team: long lockdown in your own lane suggests Cleanse even when the team-wide threshold is not met, and the crowd-control answer moves up the item order — while the opening item stays untouched, because that item is the champion's identity rather than a reaction to the draft. The loading screen is back: it was being hidden because the game was read as not being in the foreground even while you were playing, the same fault that was fixed in the in-game HUD earlier.
This release fixes three things you could see on screen. Banned champions are now really excluded: bans are read from the champion select action list as well, so a locked ban drops out of pick, meta, synergy and counter suggestions even when the client leaves its ban field empty — this is the fix the previous release promised but did not deliver in live games, because the recommendation engine was filtering correctly on an input that was incomplete. Your archive evidence is visible again on the loadout cards, which now print every measured note — first item, runes, skill order and your own style — instead of hiding all of them whenever the same evidence applied equally to each package. And the counter panel fits its column, so champion names and the line naming their source are no longer cut down to a few characters.
This release rebuilds the build screen around four independent build sets, each named after where its evidence comes from: Hybrid Core blends your own archive with the community pool for the first two items and runes, then adapts the rest to the draft in front of you; Draft Engine is the engine’s read of this draft alone; Pure Archive shows the exact order your archive learned for this champion and role, untouched; and OP Discovery surfaces a pick the engine did not expect but that keeps winning for you. Every item slot carries an evidence badge — how many games, whose data, and a visible warning when the personal sample is thin — and a set with no evidence shows an honest progress note instead of an invented build. The set you select on screen is the set League receives: manual import, auto-push and the in-game HUD all read the same package, and the choice is shared between both windows. Support builds also react to the enemy team now — a triple-tank board and a dive board no longer produce the same plan.
Ratings, tier placements and win probability are CarryForge estimates from your own recorded matches and the current board — not Riot statistics or a global sample, and every number is labelled with its source and sample size. Every write to the League client — runes, item sets, summoner spells, a ban or a hover — happens only on your own click; nothing is ever automated. The updater package is signed; a Windows Authenticode publisher signature is not yet available, so SmartScreen may show an “Unknown publisher” warning.
This release opens the OP discoveries in champion select and redefines the fifth build set. The draft window header gained an OP discoveries button that opens the full list — every lane, not only the champion you picked — with one-click rune and item import. It reads the pool without a role filter on purpose: measured against a real archive, the role-filtered view hid three discoveries out of forty entirely and chose a different item for thirteen champions. The list is computed when you open the panel, so it costs nothing while the timer runs. The fifth set is now Played Build: instead of showing what you pick most often, it shows the exact item sequence that was really played with the best result on that champion, taken as-is and pooled across every account stored on this machine. It groups by purchase order and never by the finished inventory — a full six-item build only happens in long games, and long games correlate with winning, so grouping by inventory would rank match length rather than the build. Each row carries how many games it was played and how many were won; a sequence needs at least eight games before it is shown at all, and where there is no such sequence the set says so instead of filling in the engine’s own suggestion. Measured on a real archive, this set differs from Pure Archive in 70.5% of champion-and-role pairs, so the two tabs answer genuinely different questions. The discovery card also states its pool correctly now: it reads every account stored on this machine, not only the one you have linked, and the label says so.