We build Vision for you and tell you about it ourselves. Every update is here: what changed and who shipped it.
v2.0.201Shipped by katsuro
We built for you: Sales and discounts on the subscription
Quick version: the owner can run a sale: a percentage off all plans with an end date and a label. The Plans window shows the old price crossed out, payment charges the discounted price, and the site shows the same.
During a sale the Plans window shows the sale label, the discount and the end date, with the old price crossed out.
When the sale ends, prices return to regular by themselves.
v2.0.200Shipped by katsuro
Fresh for you: No planets: each theme has its own emblem, new sounds, nicer news and wiki
What changed: the Match screen no longer shows a planet: Vision has a new eye, Ancient Gold a stone disc with runes, Sage a leaf mandala, Arcana a constellation with a crystal, Dire a molten shield. All sounds are made anew, richer in the paid themes. News is split into blocks with a running line, and the Wiki has its own background and emblem.
The paid themes Arcana and Dire got richer effects: shimmering selected buttons, selection tiles and sounds with a deep hall and stereo.
Status pills in the header no longer slide under the buttons: long text is clipped and shown in full in the tooltip.
The Wiki gained a theme background, an emblem banner, sections that fade in on scroll and a running line under headings.
The admin “Users” list shows the nick with its colour and effect.
v2.0.199Shipped by katsuro
Made for you: New theme icons and authors in news
All theme icons are redrawn in one style — a shield with an eye, each theme in its own colours. News posts now show the nick of whoever published them.
The app icon changes with the theme: Vision, Ancient Gold, Sage, Arcana, Dire.
Vision news is signed with the author’s nick, colour and effect.
v2.0.195Shipped by katsuro
We crafted for you: Report a problem in the header, clearer menu groups
The gist: menu group names (Overview, Game, Prepare, Review) now sit on a coloured plate. The “Bug?” button became “Report a problem” and moved to the top bar next to the browser.
The “Report a problem” button (message icon) is in the top bar, left of the browser button.
v2.0.194Shipped by katsuro
We reworked for you: Author signature in updates and an admin profile
The main thing: every update now shows its author. An admin can pick a nick, a colour and an effect.
“What’s new” shows the author’s nick next to the date.
v2.0.193Shipped by katsuro
We came up with this for you: No more Roshan and Aegis alerts
Quick version: roshan and Aegis alerts and timers are gone: Dota already announces Roshan’s death and shows the aegis on the hero.
The “Roshan killed” and “Roshan may respawn” alerts and the Aegis timers are no longer shown — Dota does this itself.
v2.0.177Shipped by katsuro
We built for you: “Match review” for MaxVision
After every game Vision shows a review: net worth and last hits against the targets at minutes 10, 20 and 30, the stretch where the gap grew the most and where you surged, which key items came late compared to how you usually play this hero — and short tips. The review appears on the results screen and in “History” (last 20 matches).
MaxVision
“Match review” after every game — in MaxVision.
v2.0.174Shipped by katsuro
We crafted for you: “Your build” is assembled; a subscription key can’t be passed on
What it means for you: a subscription key is tied to a Steam account: whoever activates it first is the owner. The same key won’t work on another account. Only a hash of the key is sent to the server, never the key itself. If the server is unreachable, the key keeps working.
“Your build” was never assembled for anyone: purchases were looked up in a database that holds only pro matches. Now they are taken directly from your parsed matches — the build appears after 2+ parsed games on the hero.
v2.0.169Shipped by katsuro
We added for you: Clear plans and a fair free week
The main thing: plans are now split by purpose. Free — information: match, heroes, Dota builds, history. ProVision — everything that works inside the game: overlay with net worth and targets, gold hint, auto-accept, priority hero pick, premium themes. MaxVision — personal: “Your build” from your matches and overlay targets tuned to your pace on the hero, plus detailed effects and early access to new features.
The free ProVision week is once per person: you need to sign in through Steam and have at least 30 Dota matches; it can’t be taken again on the same computer (by hardware) or with the same contact.
Moving the Windows clock back no longer extends a subscription or trial.
MaxVision
“Your build” and targets tuned to your pace on the hero are now part of MaxVision.
v2.0.163Shipped by katsuro
Made for you: Hero pick — repeated until picked, verified on screen; standard grid note
What it means for you: both autopick and picking a hero by hand in the app now repeat “SELECT” until the hero is picked. It counts as picked only when the screen shows “YOU WILL FIGHT AS <HERO>” (or Dota reports the hero itself) — not just because the button disappeared.
Up to 6 “SELECT” presses per attempt and up to 5 attempts while hero selection lasts. Before each press the button is checked to show the right hero.
If the on-screen name cannot be read (no Windows text recognition), there are no blind repeats — the hero is highlighted, press “SELECT” yourself.
Heroes and priority pick show a visible note: picking works only with the standard hero grid (sorted by “Attributes”, no “My sets”, 16:9 screen).
v2.0.162Shipped by katsuro
We built for you: Your build — from your own matches on the hero
The gist: the “Items” section has a new “Your build” card: which items you yourself buy on this hero, when you usually buy them (~minute), in what share of games and with what win rate. Split by phase: start, before 15, 15–30, after 30.
Fully automatic: outside a match Vision sends your recent matches on your most played heroes to OpenDota for parsing (a minute after start, every 6 hours and after each match) and rebuilds the build. At least 2 parsed matches on the hero are needed.
Consumables and components that went into a finished item are left out; an item is included if you bought it in at least a third of games.
v2.0.161Shipped by katsuro
Fresh for you: Overlay hides faster in the menu and again over the scoreboard
The main thing: the scoreboard is detected on screen again, as before, not by a key: one small 320×180 frame every 0.5 seconds checks both the Dota menu and the scoreboard. The menu hides the overlay within half a second (before — up to 2 seconds). Full-size screen reading during a match stays off.
Scoreboard cues were tuned on screenshots with and without it — day, night and in the menu: it is found where it is and not found where it is not.
The scoreboard key is also used only if it was set manually or Vision found it in Dota settings.
v2.0.160Shipped by katsuro
We added for you: Tuning Vision for your Dota — with your permission
Quick version: vision asks once for permission to read Dota and Steam settings on this PC. With permission it finds the scoreboard key, adds -condebug to Dota launch options, checks the screen and the Dota connection and shows the result. It notices changes (another key, options) by itself — at startup and every 10 minutes.
Without permission Vision does not touch Steam settings (before, -condebug was added without asking). Change the decision in “Settings → In match” — also “Check now” and the last check result there.
No data is sent anywhere. For diagnostics on the developer’s PC, copies of key binding files are put into the diag\dota-keys folder (they contain no passwords or keys).
v2.0.155Shipped by katsuro
Fresh for you: Overlay hides again in the Dota menu and over the scoreboard (no screen captures)
In “Maximum FPS” mode the overlay stayed over the Dota main menu and the scoreboard. The menu now comes from Dota’s own data (player activity “menu”), and the scoreboard from holding Tab or ` (below Esc, the Dota default). Still no screen captures.
If your scoreboard opens with another key or by a press (not hold) — tell us and we will add it.
v2.0.154Shipped by katsuro
We added for you: Bot games recognized; “All items” hidden for the whole match; overlay repaints less often
In short: in a bot game Vision no longer searches for the lineup for minutes: the Dota console shows the others are bots, and the players card says so directly. In a local lobby with people the lineup is taken from the console right away, without the key. The “All items” catalog is hidden from hero selection to the end of the match.
In “Maximum FPS” mode the overlay updates once per second instead of on every Dota packet (up to 10 per second) — fewer repaints of the transparent window over the game.
Online matches — as before: the lineup comes from the status command (bind key) or live match lists.
v2.0.153Shipped by katsuro
We crafted for you: Tutorial for new users; -condebug added to Steam automatically
Here is the story: on first launch there is an interactive tour of the sections: Vision highlights a section button, explains what is inside and waits until you click it yourself. Take it again: Settings → Appearance → “Tutorial”. The -condebug launch option is now added to Steam automatically — match search is visible even when Dota is launched from Steam.
Tour: 11 steps — Match, Heroes, Items, History, Highlights, Browser, Overlay, Knowledge base, Settings. You can skip, go back or click around during the tour.
-condebug: added to Dota 2 launch options (localconfig.vdf) only while Steam is closed — when Vision starts or before Vision starts Steam. Other options are untouched; a backup copy (.vision-bak) is saved before the first change.
Outdated damage bar mentions removed from Botson internal notes.
v2.0.152Shipped by katsuro
We reworked for you: “Maximum FPS” mode (on by default); damage bar removed from Botson
What it means for you: while a match is in progress Vision takes no screen captures at all: every capture took frames from Dota. The stats overlay works as before and hides while you hold Tab (by the key, without captures).
Off during a match: the gold hint above quick buy, Tab table reading (net worth from the screen), the Dota menu check by capture. Turn back: Settings → In match → “Maximum FPS”.
The main window is still frozen in a match; effects are off from hero selection.
Botson: the “Damage bar” step in the full check and its answer are removed — the bar itself was turned off in 2.0.73, the step always showed an error.
v2.0.151Shipped by katsuro
We came up with this for you: Fewer screen captures in a match (FPS); “Pre-game purchase” removed
The gist: during a match Vision captured the screen 5–6 times per second (quick buy every 0.3 s, the Tab table, the Dota menu), and each capture took frames from the game. Now about 1.5 captures per second: the quick-buy panel is read every 2 seconds, the Tab table every 0.7 s, and the Dota menu is checked on the same frame without a separate capture. Active window tracking is less frequent (every 0.15 s instead of 0.06 s).
The “Pre-game purchase” card is removed from the draft screen: the starting set is in the “Build” section.
The gold hint updates a bit slower (up to 2 seconds after rearranging quick-buy items); the overlay hides on Tab and in the menu as before.
v2.0.150Shipped by katsuro
Especially for you: Autopick: if the hero was not picked — a new attempt right away
The main thing: after each attempt the app waits up to 2 seconds for Dota to confirm the hero is picked. No confirmation or a failed search — the next attempt starts immediately (up to 5) while hero selection lasts.
Before every “SELECT” press the app checks the button shows the right hero name: repeat attempts never press anything else.
If Dota reports neither the draft nor the hero, the app makes two attempts and relies on the on-screen button check.
The status line shows the attempt number.
v2.0.149Shipped by katsuro
Fresh for you: Autopick: “SELECT” is pressed on the first try
What it means for you: the hero was found on the first check, but Dota sometimes ignored a too-fast click on “SELECT”. The button is now pressed with a hover pause, and afterwards the app looks at the screen: if the button with the hero name is still visible, it presses again (up to three times).
Each press is in the log: “SELECT pressed (1), button gone — hero picked”.
v2.0.148Shipped by katsuro
We added for you: Running update.bat by hand no longer publishes a release
The gist: double-clicking update.bat used not only to install the version on this PC but also to publish it on GitHub for everyone. Publishing now needs the command update.bat publish; a plain run just installs.
Includes the startup fix from 2.0.147.
v2.0.147Shipped by katsuro
We crafted for you: Fixed startup after 2.0.146
The main thing: in 2.0.146 the Vision window showed “Vision error: useNetEpoch is not defined” and did not open: an import was missing in the main interface file. The import is added; before building a pack every used name is now checked to be declared.
All 2.0.146 fixes (history after a match, network recovery, draft hints) remain in place.
v2.0.146Shipped by katsuro
We reworked for you: History after a match, network recovery, draft hints
Quick version: match history used to refresh only at app start — now after every match (right away and again for up to 20 minutes), every 15 minutes and when the network returns. If there is no network at startup, the app reconnects by itself. Draft hints no longer disappear without the network.
History: the reload was tied to a games counter that was never increased. The match end now comes from the Dota state; OpenDota is asked to refresh the player profile, and fresh matches go ahead of the background build preload. The loading icon no longer spins forever on a failure.
Network: while there is no connection or cached data is shown, a light check runs every 15 seconds; on success “No network / Old data” is cleared and history and builds reload. The owner status is retried after 10–60 seconds on a failure instead of 2 minutes.
Draft: global hero stats are retried; without them the hint is built from all heroes instead of a loading icon.
Match search: if Dota was started without the console log (-condebug), the match card says so — before, the search was simply not shown.
Autopick: the status line shows the result of the on-screen name check; the “By clicking the icon” description is updated.
Small fixes: one license status subscription instead of ~17 (log warning), the closed Steam friends list error is remembered for 30 minutes, the Dota folder is looked up once a minute instead of every second, 66 interface strings translated to English.
v2.0.145Shipped by katsuro
We came up with this for you: Autopick: the app remembers hero icon positions on screen
What changed: the principle stays simple: the app finds the hero icon in the grid, clicks it and “SELECT”. Every name read along the way is now remembered with its icon position, so from the second time a hero is picked with one click plus a check.
Positions of all heroes whose names were read during a search are remembered, not just the target.
A remembered position is always verified by the on-screen name before “SELECT”; if the grid shifts after a patch, the search finds the new place by itself.
v2.0.144Shipped by katsuro
Especially for you: Autopick: empty or inexact name reads no longer derail the search
If recognition returned an empty string or “LlON” instead of “LION”, the search treated the card as the end of the grid or a wrong hero and picked a neighbor (Lina instead of Lion). An empty read is now retried up to three times without moving the search bounds, and I/l confusion is smoothed out.
Short names are compared exactly (Lina and Lion are not confused); long names tolerate recognition errors.
From the log: the Lion card was read as “”, “SPlRIT BREAkER” and “LlON”.
v2.0.143Shipped by katsuro
We put together for you: Autopick: reading long hero names
In short: text recognition dropped the first word of a long name (“LANCER” instead of “PHANTOM LANCER”), so the app treated the card as wrong and moved on. A partial name is now accepted if it fits only one hero.
The log showed the Phantom Lancer card was selected correctly but the name was read incompletely. “PHANTOM” alone is not accepted — it fits other heroes too.
The title read area is slightly taller in case of a two-line name.
v2.0.142Shipped by katsuro
Made for you: Autopick: hero card found by names on screen, not by a grid model
Here is the story: the grid order model did not match Dota 7.41 (Razor and then Phantom Assassin opened instead of Phantom Lancer). The right card is now found alphabetically: the app reads the name on the panel and moves in the right direction.
The search gallops and bisects within an attribute group; if the hero is not there, the other groups are checked (patches move heroes between attributes). Usually 2–4 checks.
The found position is remembered and re-verified on the next pick. “SELECT” is pressed only after the name matches.
Works for any hero, including new ones, without app changes.
v2.0.141Shipped by katsuro
We built for you: Autopick: hero verified on screen; effects off during hero selection
What it means for you: autopick no longer searches for the icon by image (it cost 1–2 seconds of CPU and did not find the hero): it clicks the grid and reads the hero name on Dota’s right panel. “SELECT” is pressed only if the name matched. App effects turn off already during hero selection.
If another hero opened, the app computes the grid order shift and tries the right card (up to 5 attempts) — works for any hero, including new ones.
“By name (fast)” mode: after the command the name is checked on screen; if the bind did not work, the hero is picked by clicking the grid. Enter exec d2_binds in the Dota console once.
The name is read with Windows built-in text recognition. If it is missing, the hero is highlighted and you press “SELECT” yourself — no blind presses.
Hero selection, strategy, pre-game and match: background, embers, dust and glow are not created; the window stays usable. The heavy screen icon search was removed from autopick.
v2.0.140Shipped by katsuro
Fresh for you: Match: all effects off; hero search handles vertical cards
The gist: while a match is in progress the background, embers, dust and glow are not created at all (not just hidden). The hero search on the pick screen now handles the narrow tall cards of the new grid.
During a match the effects stay off even after the “Show app” button; they return by themselves after the match.
Hero search by name: the vertical art (heroes/crops) and a card shape of about 42×74 pixels were added to the wide icon. Such a card was not recognized before (the match was below the threshold on the snapshot from the log). If the vertical art fails to load, the search works as before. The log now shows whether it was loaded.
v2.0.139Shipped by katsuro
We came up with this for you: Priority pick: a banned hero fades to grey
Here is the story: during hero selection a hero in the priority pick list that was banned or already picked smoothly turns grey with the label “Banned” or “Already picked”, like in the Dota grid.
The data comes from the draft Dota reports to the app (bans and picks of both teams). If Dota does not report the draft, the slots stay normal. Everything returns after hero selection.
v2.0.138Shipped by katsuro
Especially for you: Full interface quality restored
What it means for you: the light mode (no animations, blur or shadows) is no longer switched on during a game: during a match the window is simply not drawn, and the rest of the time the app looks as usual.
The “Show app” button on the match cover opens the interface at full quality, with all effects and the planet at its normal frame rate.
v2.0.137Shipped by katsuro
We put together for you: The “No network” pill no longer lights up for nothing
The gist: the indicator shows “No network” only when there really is none: OpenDota timeouts and single failures do not trigger it, and an old failure clears itself.
A single OpenDota request with no reply within 8 seconds used to turn on “No network” although the internet worked, and the pill stayed until the next successful request (for example after a night without matches). Now it takes three failed requests in a row with no server response, timeouts do not count, and after 2 minutes the pill clears and waits for the next check.
v2.0.136Shipped by katsuro
Made for you: The Vision window freezes during a match
The main thing: while a match is in progress, the app window on a second monitor shows a simple cover and does not draw the interface, so it stops taking FPS from Dota.
The cover appears once the match has started (after hero pick) and goes away when it ends. The overlay, hints and calculations work as before.
The “Show app” button on the cover brings the interface back until the match ends. The built-in browser is closed while frozen.
v2.0.135Shipped by katsuro
We built for you: Overlay hides behind the Tab scoreboard; light window mode during a game
Quick version: while the player table (Tab) is open the overlay is hidden and comes back when it closes. During a match the Vision window on a second monitor runs in a light mode and costs less FPS.
The overlay hides on the first frame with the table open and returns on the next check (up to ~0.4 s) after it closes.
During a match (Dota data is flowing) the main window turns off animations, blur, shadows and extra effects, and the planet redraws about every 0.12 s at reduced resolution. Everything returns after the match.
v2.0.134Shipped by katsuro
Fresh for you: Lower load on the game: screen captures, Stratz and the hidden browser
What changed: the app captures the screen less often, stops hammering Stratz after refusals, and no longer warms the hidden browser during a match.
Screen captures: the three reading loops (table, quick buy, hero label) used to capture the screen on their own, up to 12 times a second. They now share one fresh frame, and quick buy is read every 0.3 s instead of 0.2 s.
Dota menu detection: every 0.8 s in a match, every second in the menu (was 5 times a second).
Stratz: after 403/429 refusals requests pause (2 to 60 minutes, growing on repeats) and empty hero builds are not re-requested for 30 minutes. The log showed about 570 failed requests.
The hidden Dotabuff browser is not warmed up while a game is running; a player page still preloads when you hover a nickname.
v2.0.133Shipped by katsuro
We added for you: Net worth counts only what is visible
The overlay no longer guesses courier items: net worth = gold + items in slots, backpack and stash + consumed Aghanim upgrades.
An item that disappeared from the stash used to be added as a “courier ghost”, which could overstate or understate the total versus Dota’s native numbers. The courier is now left out: when the item arrives it shows up in the slots and net worth updates by itself (every 3 seconds).
v2.0.132Shipped by katsuro
We crafted for you: Player profiles open in the built-in browser
In short: clicking a nickname in History and the profile links in the players table opens Dotabuff (OpenDota, Stratz) inside the Vision window instead of the system browser.
In History, click a nickname for Dotabuff, Ctrl+click for OpenDota; the page is preloaded while the cursor is over the nickname. Close with the button or Esc.
v2.0.131Shipped by katsuro
We reworked for you: History: neutral item descriptions and player profiles
Here is the story: a neutral item in the match table now shows its full description and tier like in Dota; nicknames open profiles and missing names are filled in.
Neutral item tooltip: localized name, tier and ability text (from the Valve item feed by item id).
Click a nickname to open the Dotabuff profile, Ctrl+click for OpenDota. If OpenDota gave no name but knows the account, the name is fetched from the profile. Players with a hidden profile show “Hidden profile” instead of “Anonymous”: no data is available and the profile cannot be opened.
v2.0.130Shipped by katsuro
We came up with this for you: Net worth: a consumed Aghanim is always counted as Blessing
What it means for you: a scepter that is active but no longer in the slots is counted as Blessing (5,800), even if a plain one sat in a slot before.
While the scepter sits in a slot it is counted at its own price (4,200). Once it is consumed, 5,800 goes into net worth. No more jumps between 4,200 and 5,800 caused by a missed frame.
v2.0.129Shipped by katsuro
We built for you: Net worth: Aghanim calculation resets when the hero changes
In short: when the hero changes (lab, replay) Vision forgets earlier guesses about scepter, shard and Blessing and recalculates from what is visible now.
The “scepter already consumed” and “this is Blessing” memory used to last the whole match and carried over to the new hero, inflating net worth. It is now tied to the match + hero pair.
v2.0.128Shipped by katsuro
Fresh for you: Build: Maelstrom in “Towards midgame” only where it is really bought
Here is the story: the fallback item list no longer adds Maelstrom to every hero: it stays only for heroes who actually buy it.
When hero data was thin, Maelstrom was filled in from a generic list. Real purchases of the hero now come first, and Maelstrom is removed from the attribute fallback lists. All hero builds will be regenerated.
v2.0.127Shipped by katsuro
We added for you: Net worth: a consumed Aghanim no longer drops out of the total
What it means for you: if Dota briefly reports the hero without the shard or scepter flag, net worth no longer dips by their price.
The log showed a frame where net worth fell by 4200 because the scepter flag was false for one tick. Once a shard or scepter is seen in a match, Vision counts it until the match ends.
v2.0.126Shipped by katsuro
We crafted for you: Courier diagnostics: what Dota reports about items in transit
The gist: vision logs what the game reports about the courier (the couriers GSI section) so items in transit can be counted exactly instead of guessed.
The log (d2.log) records the list of GSI sections and the contents of the couriers section on every change (at most once per 4 seconds, up to 60 lines per match). It does not affect the net-worth calculation yet: this data will drive exact “courier going to the shop / carrying items” accounting.
v2.0.125Shipped by katsuro
We reworked for you: Net worth: refresh every 3 seconds, consumables and match start; personal purchases after 3 games
The main thing: your own net worth is recalculated every 3 seconds; at the start of a match it is no longer overstated by 280 (Tango and the starting scroll); personal purchases on a hero count after three games.
Your own net worth is recalculated every 3 seconds from the latest Dota data; the row changes only when the number changes, without flicker.
Checked against the native panel at 1:51: items 575 vs 855 in Vision. Cause: a Tango with three charges is worth 90, not 270 (the price is per purchase of 3 charges; same for Dust and Sentry), and the starting Town Portal Scroll is not part of Dota’s net worth.
A gold spend without items counts as a courier purchase only if no items appear within 3 seconds: an ordinary shop purchase by the hero (items arrive in the next packet) no longer creates a “ghost”.
Personal purchases: the app remembers your final items per match and, after three games on one hero, adds what you buy regularly to both the Dota build and the in-app hints (two games were enough before).
v2.0.124Shipped by katsuro
We came up with this for you: The “Position not set” banner is removed
Quick version: the “Position not set: Ctrl+Alt+1…5” hint no longer appears over the game at the start of a match.
The banner is gone entirely. The position is still detected automatically and manual choice with Ctrl+Alt+1…5 works as before; until it is detected, the build and goals use the hero’s main position.
v2.0.123Shipped by katsuro
Especially for you: Courier in net worth reworked, 6-second recalculation, build cleanup
What changed: courier items count while it carries them (and, if it was killed, until its next load); a courier purchase at the shop counts as the amount spent; net worth recalculates every 6 seconds without redraws; odd items such as Diffusal Blade on Drow and duplicates are removed from builds.
Courier: an item that disappeared from the stash (not sold, combined or consumed) counts in net worth until it returns to the slots; on delivery net worth is recalculated at once. If the courier was killed, the items stay in net worth until it respawns and takes a new load.
Courier shop purchase: gold is spent, the item is not in the slots yet — the amount spent stays in net worth until delivery. Hero death, buyback, shard and the Aghanim’s Blessing upgrade are not treated as courier purchases.
Your own net worth is recalculated every 6 seconds from the latest Dota data; the overlay row changes only when the number changes, so there is no flicker or reload.
Builds: the fill-in for heroes with little Stratz data no longer adds Diffusal Blade and Abyssal Blade to agility heroes without reason; Echo Sabre is not offered to ranged heroes; recipes (recipe_…), capitalised “Item_”, travel_boots_1 and an item repeated across several phases are removed. All heroes’ builds are rewritten to Dota again.
v2.0.122Shipped by katsuro
We put together for you: Players’ net worth refreshes every 12 seconds, courier items are counted
Ally and enemy net worth in the overlay now refreshes every 12 seconds (was 20), and an item in transit on the courier stays in net worth for up to 75 seconds.
The other players’ net-worth request (Stratz) runs every 12 seconds instead of 20; your own net worth is still computed on every Dota data update.
Courier: an item that vanished from the slots counts as carried by the courier for 75 seconds (was 60) and is dropped as soon as it returns to the slots: Dota does not report what the courier carries, so it cannot be detected more precisely.
v2.0.121Shipped by katsuro
Made for you: Net-worth goal calibrated to the Dota Plus “world” graph
In short: the Vision goal now follows the “world” graph for the Ancient rank at three match marks (20:29, 30:00, 40:17).
Calibrated against the post-match “Indicators → Value” graph (Drow Ranger, Ancient+): world 9,283 at 20:29, 15,522 at 30:00, 23,368 at 40:17 (yours 10,239, 18,305, 27,903). The net-worth goal multiplier is now derived from those points: 0.67 → 0.70 → 0.80. The 20-minute point is a model estimate, the others are measured; other heroes have not been checked yet.
v2.0.120Shipped by katsuro
We built for you: Courier items in net worth only while in transit
Here is the story: an item that vanished from the slots counts as carried by the courier for at most a minute instead of 8: net worth is not inflated by “ghosts” and real deliveries are not lost.
Checked against the post-match graph (Drow Ranger): at 30:17 a courier “ghost” of 1,100 inflated net worth by 860, while at 20:29 a 450 item on the courier was real. An item in transit now counts for 60 seconds (was 8 minutes) and is dropped as soon as it returns to the slots.
v2.0.119Shipped by katsuro
We reworked for you: The panel goal no longer jumps when a position is chosen
Until a position is chosen, goals use the hero’s main position instead of the all-position hero curve, so values no longer jump once the position is resolved.
Before the position data loaded the panel used the all-position hero curve (supports included) and then switched sharply to the position curve (in the screenshots the net-worth goal went 12,574 → 18,400 within 5 seconds). Now the hero’s main position by role is used from the first second; manual choice (Ctrl+Alt+1…5) and auto-detection still take priority.
v2.0.118Shipped by katsuro
We came up with this for you: Late-game goals closer to the native Dota Plus panel
In short: at 40:18 Vision showed a net-worth goal of 21,330 against 23,368 on the native panel, last hits 361 against 383, deaths 7 against 5: the correction now grows with time.
Calibrated at two moments of one match (29:04 and 40:18, Drow Ranger): Valve goals grow steeper than the Ancient+ median toward the end, so the net-worth and last-hit multipliers now depend on the minute (net worth 0.70 → 0.80, last hits 0.90 → 0.96) and the death goal drops toward minute 40.
The deny goal is capped at 15 (the native panel showed 15 at both points). Net worth already matched the native one (28,255 vs 28,156 at the same moment).
v2.0.117Shipped by katsuro
Especially for you: Panel goals match the native Dota Plus, courier items not counted until delivered
Here is the story: at the same minute Vision showed a net-worth goal of 21,350 against 15,224 on the native panel and a net worth 1.3k higher: goals are now calibrated and items on the courier no longer count until delivered.
Last-hit, deny and net-worth goals are calibrated to the native Dota Plus panel (checked at 29:00, Drow Ranger, screenshots taken at the same moment): last hits ×0.9, net-worth gain over the start ×0.71, denies ≈ 6% of last hits.
Net worth: items carried by the courier are not counted until delivered to the hero (before, a “ghost” item lingered up to 8 minutes — the log at 29:00 held an extra 1,100 gold).
v2.0.116Shipped by katsuro
We put together for you: Full builds for every hero, match-state check, emergency stop through task manager
What it means for you: heroes with little Stratz data now also get the full build; “game accepted” no longer sticks after practice; emergency stop ends dota2.exe like Task Manager.
Heroes for which Stratz returns few items (Lycan, Omniknight, Primal Beast, Undying, Broodmother, Gyrocopter, Mirana, Naga Siren…) used to get the old short format without starting and upgrade items. The gaps are now filled from other builds, OpenDota popularity and a main-attribute set — every hero gets the same full build.
The search state is checked against live data every second: if Dota is closed or no match data arrives (leaving practice/demo), “Game accepted / Loading into match” and “in match” are reset.
Emergency stop: immediately ends dota2.exe (taskkill /F /T), up to three tries with a Stop-Process fallback; if it fails (Dota running as administrator) a clear message is shown.
v2.0.115Shipped by katsuro
Made for you: Cancel search, fast click with retry, emergency stop through Steam
The gist: a Cancel search button appears; Dota clicks retry at once on failure and log their time; emergency stop presses Close and Confirm in Steam.
Cancel search button on the Match screen: presses the red cross of Searching in Dota (only if a red button is under the cursor).
Find match / Accept / Decline click: target 0.35 s. On failure the error is logged at once and the click is retried without pauses (up to 3 times); click time is logged.
Emergency stop: presses CLOSE in Steam, then Confirm in the Exit game? dialog. If that fails within ~4 s only Dota 2 is closed.
v2.0.114Shipped by katsuro
We built for you: Find match is pressed instantly
The main thing: the click helper stays ready for 90 minutes, the click is faster and the reply comes right after the press.
The click helper stays ready for 90 minutes of idle time (was 10) — the first click after a pause no longer waits for startup.
The press is ~120 ms shorter and the app learns about it at once: the second Play → Find match check runs after the reply.
v2.0.113Shipped by katsuro
Fresh for you: Emergency stop leaves Steam alone
Quick version: the button stops the confirmation helper (it pressed keys in Steam windows) and closes only Dota 2, and only if it is running.
Emergency stop immediately stops the helper that confirmed the Steam dialog (Enter and clicks): before, it could keep pressing in Steam after the stop.
Only the Dota 2 process is closed, and only if it is already running; Steam is not closed.
v2.0.112Shipped by katsuro
We added for you: Item card on hover, clearer builds pill
What changed: in Items the description opens in a popup on click, and the builds pill uses plain words.
Items tab: hold the cursor on an item and a card with the icon, price and description pops up; a click opens the full item window (it was not rendered in the normal window mode — fixed).
The builds pill is clearer: “Loading Dota builds: N of 127 heroes (%) · ~M min left”, and “Dota builds are ready” when done.
v2.0.110Shipped by katsuro
We reworked for you: Full starting set, build by main position, lower load
In short: build writing uses six threads instead of ten, and the animated background pauses when the Vision window is not focused.
Item descriptions: simple items (Energy Booster, Platemail…) show stats from Valve data, and a note instead of an empty box when an item has no properties.
Load: the in-match Dota menu check takes 5 screen captures per second instead of 10.
Starting items are now a full 600-gold purchase: Stratz data plus role-based fill (consumables, attribute item, Quelling Blade for melee, wards for supports).
The build sent to Dota is chosen for the hero's main position — the role-fitting one with the most Stratz matches.
Dota reads guides when a match loads or a hero is picked: a match in progress shows the old set — the new one appears next time.
Hero build writing — 6 parallel workers instead of 10: smaller CPU and memory peaks at startup and after leaving Dota.
The dust animation pauses while the Vision window is inactive (for example during a match).
v2.0.107Shipped by katsuro
Fresh for you: Heroes without Stratz data: the Valve guide stays
Here is the story: if a hero has no Stratz data the original Valve guide stays in Dota — it is not counted as an error, the pill reaches 100%.
For a hero without Stratz data Vision leaves no gap: the original Valve guide stays in the game (if our file was already there, its backup is restored) and the reason is logged.
A hero file is rewritten only after a successful load: on a network or Stratz failure the previous working guide in the Dota folder is not damaged.
v2.0.106Shipped by katsuro
We added for you: Writing builds: no extra requests, failure reasons in the log
What it means for you: if a hero has no Stratz data for a position Vision no longer repeats the request directly; heroes whose build was not written appear in the log.
When the Vision server says "no data" it is final: no direct Stratz request with your token is made (it went through a ~1.5 s queue and slowed the whole write).
If a hero build was not written the log gets a line with the hero number and the reason — it shows what is missing.
v2.0.105Shipped by katsuro
We crafted for you: Pick by name presses "SELECT" itself
The gist: after the hero-name command Vision presses the "SELECT" button itself (if "Click + SELECT" is on).
Picking by name now confirms itself: after the Dota console command the "SELECT" button is pressed (the "Click + SELECT" setting, on by default).
If the button could not be pressed, Vision says so in the pick message.
Hero builds start being written as soon as you leave Dota: the app no longer waits until it "forgets" the match (a repeated start does not overlap one already running).
v2.0.104Shipped by katsuro
We reworked for you: Hero pick hints match the method
The main thing: the "By name" mode shows its own description without the outdated grid-click text; click settings are visible only in click mode.
The description of the pick method depends on the chosen mode: by name — a command to the Dota console; by click — the icon in the grid.
Click settings ("Click + SELECT", click speed) are shown only in the "By clicking the icon" mode.
v2.0.103Shipped by katsuro
We came up with this for you: Pick by name, one of three in a frame, sets for positions 4–5
Quick version: autopick selects the hero by name through the Dota console; in "Heroes" one chosen hero of three instead of main and backups; supports have their own sets; builds are written faster.
Pick by name: the dota_select_hero command through a console bind — instant and independent of the hero grid (in "Heroes" → "How the hero is picked" → "By name"; prepare the bind once and type exec d2_binds). If it does not work Vision clicks the icon.
Priority pick: three equal options instead of main and backups; the chosen one has a frame in the theme colour (gold; Yin/Yang/Noir/Aegis have their own). Click a hero or "Choose" to mark another one.
Separate sets for positions 4 and 5: support consumables (Clarity, wards), their own upgrades (Urn of Shadows etc.), support mid and late items, upgraded boots (Guardian Greaves / Boots of Bearing).
Hero builds are written to Dota faster: Stratz data comes from the Vision server first (in parallel, with a shared cache) instead of one direct request per ~1.5 s.
v2.0.102Shipped by katsuro
Especially for you: The startup check takes seconds
What changed: startup checks run at the same time without artificial pauses; the window closes sooner.
All six checks (internet, builds, builds written to Dota, version, Dota link, key) run at once instead of one after another; the pauses between them are gone.
Waiting for the hero builds to be written is cut from 8 to 2 seconds: the rest is finished in the background, progress is in the "Dota builds" pill.
The network reply is awaited for 3 seconds at most, the patch lookup for 4; after a successful check the window closes in half a second.
v2.0.101Shipped by katsuro
We put together for you: Builds are written to Dota faster: percent, speed and time left
Builds of all heroes are written several times faster; the header shows the percent, speed and time left.
For a hero without a chosen position the build is made for the hero's best-fitting role — one Stratz request instead of five; ten heroes are written at once instead of six.
The "Dota builds" pill shows the percent, the speed (heroes per minute) and the approximate time left.
d2-status Worker: Stratz boots and a new cache key (copy worker/d2-status.js into Cloudflare and press Deploy).
v2.0.100Shipped by katsuro
Made for you: Autopick: fast hero icon search, tall cards, no blind clicks
In short: the hero is found on screen by a coarse pass over a downscaled frame — much faster; tall cards from "My sets" are found too.
The icon search covers the whole screen: a coarse pass over a quarter-size gray frame, then a colour check of the best spots. The card shape (wide, square, tall) is remembered, so the next search takes a fraction of a second.
If the hero icon is not on screen, Vision no longer clicks the remembered grid blindly (it hit the wrong hero that way) — it reports it and saves a screenshot to the diag folder.
In "Heroes" you can search by name: type the name and press Enter — the first match is picked.
v2.0.99Shipped by katsuro
We put together for you: Ready-made phased builds — the same in the app and the Dota shop
The main thing: every hero build: start, early game with boots, upgrades, towards midgame, mid, late, popular and situational — in the app and in Dota.
The hero build is assembled from Stratz stats for the position and fitted to the hero: every hero has boots, 2–3 items towards midgame, 3–4 core items, 3–5 late-game options.
Upgrade items (Magic Wand, Bracer, Wraith Band, Null Talisman, Soul Ring) and early consumables are separate blocks now.
"Popular items" are what is bought most on the hero per Stratz and is not in the build; "Situational" are rare purchases (like BKB or Nullifier).
Extra items removed: one Blink kind instead of three, no Ring of Basilius, nothing that does not fit the hero.
The app and the Dota shop show the same set: on first launch the builds of all heroes are rewritten into the game.
Aghanim in net worth: if the scepter is active while it is not and was not in a slot, it is the Blessing (5800) — even if the app was started after the purchase.
v2.0.98Shipped by katsuro
We built for you: Boots and start items in builds, faster loading, tooltips for all items, Blessing
Quick version: a hero build loads for the chosen position with one request and includes boots; every item has a tooltip; the Blessing follows your rule.
Boots are added to builds: Stratz returns them as a separate list and the most popular pair goes into the core items. Heroes whose build had no boots now have them.
Builds load faster: only the selected position is requested (one request instead of five), raw Stratz data is cached for a day and shared between the build and the check; with no data for a position the nearest one is used.
Every item has a description in its tooltip: simple items without a description show their stats (+10 Intelligence etc.) in the selected language.
Aghanim in net worth: if the scepter was not in a slot but became active, the Blessing was bought (5800); if the plain scepter sat in a slot, 4200. Buying the 1600 upgrade is also recognised by the gold drop.
Old vision_<hero>.txt files in the Dota builds folder (left from 2.0.44, Dota does not read them) are deleted automatically once per launch.
v2.0.97Shipped by katsuro
Fresh for you: Hero builds - Stratz only
What changed: openDota is no longer used for builds: start, early and core items are assembled from fresh Stratz statistics.
Hero builds (Build, Match, hero tab, buy hints) are assembled from Stratz only: for each position 1-5 purchase statistics with timing give the start, early game and core items. Pro matches, "players" and OpenDota popularity are switched off for builds - OpenDota updates its builds rarely.
If Stratz returns no purchase time, the order is estimated by item price (pricier - later). If there is no Stratz data at all, no outdated build is substituted - the section shows that there is no data.
Purchase time and starting sets need the updated Worker (d2-status.js) - the owner has to deploy it; until then builds work by item price.
v2.0.96Shipped by katsuro
We added for you: Build items fit the hero
Situational and late slots are no longer the same for every hero: role, attack type and damage type are taken into account.
In "By 35", "By 50" and the situational slots a generic item list (BKB, Satanic, Butterfly, Pipe...) used to be added regardless of the hero. Items now pass a fit check: supports are not offered physical-damage core items, cores are not offered support items, casters get no Monkey King Bar, ranged heroes get no melee-only items.
Items this hero really buys (match data) come first, generic ones after. Shard and scepter show among situational items only if they are bought on this hero.
The same check applies to the "against the enemy lineup" suggestions.
v2.0.95Shipped by katsuro
We crafted for you: A bought Blessing upgrade (1600) now counts in net worth
In short: if gold dropped by 1600 with no new items after a consumed scepter, net worth counts the Blessing as 5800.
The Aghanim's Blessing upgrade (1600) is consumed at once and never shows in a slot, so net worth stayed at 4200. The purchase is now detected by gold dropping by 1600 with no new items, making it 5800.
v2.0.94Shipped by katsuro
We reworked for you: Aghanim's Blessing always counts as 5800
Here is the story: a bought and consumed Blessing is counted at the full 5800, not the price of the upgrade alone.
Aghanim's Blessing (scepter 4200 + upgrade) is now at least 5800 in net worth, both while in a slot and after being consumed. Before, the catalogue could return only the upgrade price.
The net worth breakdown in the log now shows the real Aghanim upgrade sum.
v2.0.93Shipped by katsuro
We came up with this for you: Overlay goals: Ancient+ median adjusted to your games on the hero
What it means for you: goals are closer to real ones: median instead of the 75th percentile, shifted toward your pace on this hero.
Goals (kills, last hits, net worth) use the Ancient+ median instead of the 75th percentile - they used to be almost twice the Dota Plus goals.
With at least 3 of your games on the hero, goals move halfway toward your average pace (at most +/-25%), giving a blend.
v2.0.92Shipped by katsuro
Especially for you: Net worth breakdown in the log every 15 seconds
The gist: for exact comparison with Dota Plus the breakdown is written more often.
The net worth breakdown in d2.log is now written every 15 seconds (was once a minute) so a line can be matched to a screenshot.
v2.0.91Shipped by katsuro
We put together for you: Net worth matches Dota Plus: neutral items are not counted
The main thing: a neutral item is no longer added to the price, so the gap with the native Dota Plus panel disappears.
Overlay net worth was higher than Dota Plus (+110, +508, then exactly +1000): the neutral item was counted at its price, but the game does not include it in net worth. It is no longer counted.
A net worth breakdown (gold, items per slot, Aghanim upgrades, courier) is written to the log once a minute for comparing with Dota when numbers differ.
v2.0.90Shipped by katsuro
Made for you: The overlay no longer changes colour after an update
Quick version: the overlay colour and language arrive with every frame, so it is never left on the default colour after launch.
Fixed: after an update or restart the overlay could open in the default colour (the settings message was lost before the window was ready). The overlay settings now arrive with every state frame.
v2.0.89Shipped by katsuro
We crafted for you: Overlay goals by position, items on the courier, more accurate prices
The gist: panel goals are computed for your position; items on the courier are not lost from net worth; the position is refined by farm.
Overlay goals (kills, last hits, net worth) are computed for your position 1-5: the hero sample at Ancient+ and the player's gold rank in the team. No position data - the hero-wide goals stay.
The position is refined during the game: after minute 8 by last hits and GPM (lots of farm - a core on their lane, almost none - a support). The manual choice Ctrl+Alt+1...5 wins.
Net worth: an item that vanished from the slots for a reason other than selling, combining, disassembling or consuming is treated as being on the courier and stays in the sum until it comes back (up to 8 minutes).
Item prices in net worth come from the Valve catalog (more current than OpenDota after a patch) when it is loaded.
v2.0.88Shipped by katsuro
We reworked for you: Auto-pick: the hero is found on the pick screen
The main thing: before clicking, Vision takes a screenshot of the hero pick screen, finds the hero icon by its portrait and clicks exactly there.
Auto-pick no longer relies only on the remembered icon position: it takes a screenshot of the pick screen, matches the hero portrait against the grid (several icon sizes) and clicks the found spot.
If the hero cannot be found with confidence (icon hidden, ambiguous, Dota not full screen), the click goes to the remembered grid as before; a screenshot of that case is saved to diag (pick-*.png) and the search result is written to d2.log.
The Vision window is transparent for the moment of the screenshot so it does not cover the grid.
v2.0.87Shipped by katsuro
We came up with this for you: Do not suggest sold and outdated items
Quick version: the gold hint and "What to buy next" no longer bring back an item you bought and sold to replace it.
If a build item was already bought in this match and is gone now (sold to be replaced), the gold hint and "What to buy next" do not suggest it; the hint moves on to the next build item.
By game time: early items (Magic Wand, bracers, Soul Ring, Urn, etc.) are not suggested after their minute; neither are boots of a lower tier than the ones you own.
v2.0.86Shipped by katsuro
Especially for you: Item tooltips in two languages, near-instant overlay hide
What changed: hover an item in the match table: name, price and description in the selected language; the overlay hides almost instantly.
Match table (History): hovering any item, backpack, neutral or consumed Shard/Aghanim shows a tooltip with the name, price and a short description; the language follows the app setting (Russian or English).
The overlay hides even faster: the Dota window watcher polls every 0.06 s (a lightweight loop) and the menu check runs 10 times a second on a small 320x180 frame (cheaper than before).
v2.0.85Shipped by katsuro
We put together for you: Consumed Shard and Aghanim count as bought
Hints no longer suggest buying a Shard or Aghanim you already consumed.
If the Shard or Aghanim's Scepter/Blessing is already consumed (no slot), the gold hint, "What to buy next", the build plan and the buy tracker treat it as bought.
v2.0.84Shipped by katsuro
Made for you: History: item separators, your hero highlighted
In short: main items, backpack, neutral and consumed upgrades are separated by a line; your hero portrait has a gold frame.
Match table: thin separators between main items, backpack, neutral item and consumed upgrades (Shard/Aghanim).
The portrait of the hero you played is framed in gold so you spot your row at once.
v2.0.83Shipped by katsuro
We built for you: Smoothness: cache moved out of config.json, faster overlay hide
Here is the story: fewer frame drops: the heavy cache is written separately in the background; the overlay hides in the Dota menu in ~0.2 s.
The overlay hides within ~0.2 s when you leave a match to the Dota menu (was ~1 s); it comes back after two menu-free frames to avoid flicker.
Smoothness: the 4 MB data cache moved out of the 8.6 MB config.json (which was rewritten whole on every write and froze the app) into a separate cache.json with deferred background writes; the hint polls quick-buy less often (150 ms), three times fewer screen captures.
v2.0.82Shipped by katsuro
Fresh for you: Gold hint by your gold, eaten Aghanim cost, wide History
What it means for you: the hint shows how much you are still short; a consumed Blessing costs more; the match list uses the full width.
Hint under the Dota Plus table: "need N" is the gold you are still missing (your current gold and already bought parts are taken into account), not the full price. Enough gold: "can buy".
Net worth: a consumed Aghanim's Blessing is counted at its own (higher) price if Vision saw it in the slots. The Shard is unchanged.
History: the recent matches list now spans the full panel width and the match table is wider, so scrolling is rarely needed.
v2.0.81Shipped by katsuro
We added for you: Match table like Dota: Aghanim icons, gold, backpack
The gist: shard and Aghanim as icons with tooltips, Blessing in a gold frame; player and team gold; backpack and neutral item.
History -> match table: instead of text tags, Shard and Aghanim icons with the name on hover; the Aghanim Blessing is a Scepter in a glowing gold frame. The neutral item has a teal frame, the backpack is shown as small dimmed icons.
A "Gold" (net worth) column per player and a team gold total in the header; hero level under the nick. The table is wider and scrolls when space is short.
Stratz requests: identical simultaneous requests are merged (about 15 identical ones went out in 25 seconds before).
v2.0.80Shipped by katsuro
We crafted for you: Aghanim and Shard in the match table
The main thing: the match table in History shows whether each player bought the Shard and which Aghanim: plain or Blessing.
History -> match table: tags next to the items: "Shard", "Aghanim" (Scepter in a slot) and "Aghanim - Blessing" (Scepter consumed, takes no slot). Data come from OpenDota flags (aghanims_shard, aghanims_scepter).
v2.0.79Shipped by katsuro
We put together for you: Several search modes; net worth with Shard and Scepter; no false "recipe" reads
What it means for you: you can mark All Pick and Turbo together in the search; consumed Shard and Aghanim's Blessing count in net worth.
Match search: modes are toggled as chips and several can be selected (for example All Pick + Turbo); wait times are tracked per combination.
Net worth: Aghanim's Shard and Scepter/Blessing that are consumed and take no slot now count by price (1400 and 4200); items sitting in a slot count as usual.
Gold hint: per the logs, the quick-buy panel was sometimes "found" by orange terrain lines and false "recipes" were read. Now only a panel on the fixed bottom line above the gold block counts; otherwise the icon grid is read from it.
v2.0.78Shipped by katsuro
Made for you: "What to buy next" card is off; toggle in settings
The gist: the card after a key item purchase no longer appears by itself; the switch is in the Overlay section.
The "bought - what to get next" card (next item options with risk rating) is off by default. Turn it on or off in the Overlay section with the "What to buy next" checkbox. The old value is reset once; after that your choice applies.
v2.0.77Shipped by katsuro
We built for you: History in the style of a Dotabuff profile
The main thing: most played heroes and recent matches tables on the left, full stats on the right, with bars under the numbers.
The History section follows the Dotabuff profile layout: on the left a "Most played heroes" table (matches, win %, KDA with bars and "last played") and "Recent matches" (result, mode, duration, KDA; click to open the match table); on the right "Full stats" (overview, by game mode, averages, streaks).
Period, mode, hero and result filters, hero sorting and loading more matches are kept.
v2.0.76Shipped by katsuro
Fresh for you: Gold hint sits under the net worth table; recommendation toasts off
Quick version: a simple "item and gold needed" card sits under the stats table; recommended-item notifications are off.
The gold hint now sits right under the "Stats / Now / Goal" table instead of above the quick-buy panel. It shows only the item icon, its name and the gold still needed (counting parts already bought); green when you can afford it.
In-game "recommended items" toasts and sound are off — easier to check the Build section. Key-item alerts for other players stay.
v2.0.75Shipped by katsuro
We added for you: Net worth counts stacks of consumables
What changed: net worth = gold + inventory + backpack + stash; stacked consumables count per piece.
Overlay net worth: gold plus the cost of all hero items (inventory, backpack, stash, teleport scroll). A stack of consumables (3 Tango, 2 Observer Wards, TP scrolls) used to count as one piece; now by charges. Magic Wand and similar charges are not counted.
v2.0.74Shipped by katsuro
We crafted for you: Gold hint over the stash; less FPS load
The hint shows while items sit in the stash; screen reading takes 5 frames a second instead of ~30.
The gold hint no longer hides when items are in the stash or the shop is open: it shows over the window.
FPS: the app grabbed the screen almost 30 times a second (reading the quick-buy panel) and 10 more on the match screen. Now 5 and 2.5 times, which is enough for the hint and takes much less from the game (your FPS dropped from 200 to 110).
v2.0.73Shipped by katsuro
We reworked for you: Damage bar removed; gold hint reads the buy panel more reliably
In short: the received-damage bar is gone from the overlay; the hint no longer disappears when the quick-buy panel has no orange frame.
Overlay: the "Damage taken" bar is removed entirely (it counted wrongly); its settings and snapshot button are gone from the Overlay section.
Gold hint: the quick-buy panel used to be found only by its orange frame; on bright/orange terrain and in the new look the frame was not visible, the app read the wrong place, found nothing and the hint vanished. Now, with no frame, the icon grid is read from the fixed bottom edge of the panel above the gold block, and the row count comes from the items found.
The "shop/stash open" check now uses the fixed position instead of a random line, so the hint is not hidden falsely.
v2.0.72Shipped by katsuro
We came up with this for you: 35 and 50 min differ clearly
Here is the story: at 50 min up to 12 finished late items are added; with thin hero data, items fitting the role fill in.
Build at 35 and 50 min: there were no situational slots at all (thin hero data plus outdated items filtered), so the tabs looked the same. Now, after hero data, finished late items by role (core or support) are added: Satanic, Skadi, BKB, MKB, Bloodthorn, Heart, Blink variants, Aeon Disk, Lotus and others.
4 slots at 35 min, up to 12 at 50 min.
v2.0.71Shipped by katsuro
Especially for you: 35 and 50 min: no items that lose relevance
What it means for you: for every hero, late situational slots show only what is actually bought after minute 35.
Build at 35 and 50 min: a general rule for all heroes, with no Yasha, Sange, Kaya, Force Staff, Blink, Maelstrom, Diffusal, Mask of Madness, Midas, boots, Mekansm or other items that are outdated by then.
At 35 min only finished items from 3000 gold, usually bought no earlier than minute 22; at 50 min from 3800 gold and no earlier than minute 28.
v2.0.70Shipped by katsuro
We put together for you: Purchases are recorded during the match; 35/50 min slots show finished items only
The gist: personal buys are no longer lost when you leave a game; situational slots no longer show parts of items already in the build.
Personal buys: recording happens during the match (after minute 10, when items change). Before, a match was saved only at the very end, so leaving, a crash or closing the app lost it. An interrupted match is counted automatically.
Build at 35 min: "Situational slots" show finished items from 2800 gold only, without parts of items already in the build (Yasha with Manta, Force Staff, Blink) and without early junk.
Build at 50 min: more variety, up to 12 full late-game items from all of the hero builds and Stratz popularity.
v2.0.69Shipped by katsuro
We added for you: Hero positions are detected correctly (Storm Spirit and other mids)
Here is the story: mids no longer land in position 4, cores have no wards in the start; builds are re-mined.
Positions: a plain observer ward in the starting set is no longer treated as a support sign (nearly everyone buys it), and the mid lane stays position 2 unless GPM is low or there are 3+ wards. Before, mids (82% of Storm Spirit games) fell into position 4 and the build looked like a support build. Hero data is re-mined.
Guide: positions 1-3 have no wards in the starting set.
v2.0.68Shipped by katsuro
We crafted for you: By minute 50: more items
What it means for you: late-game situational now has up to 12 items (was 8).
Build tab: by minute 50 situational shows up to 12 items (was 8), by minute 35 up to 4 (was 3). Candidates come from popular items of the position and extra build items (up to 30), with the same filter for expensive late-game items.
v2.0.67Shipped by katsuro
We reworked for you: By minute 50: full late-game items only
The gist: late-game situational keeps expensive finished items people buy late.
Build tab: by minute 50 situational items are only those from 3800 gold bought after minute 24 (Butterfly, Satanic, Skadi etc.); Yasha, Maelstrom, Skull Basher and other mid-game items are removed. By minute 35 the threshold stays at 2000 gold.
v2.0.66Shipped by katsuro
We came up with this for you: Updating no longer closes Dota
The main thing: installing an update closes only Vision, not the Steam and Dota it started.
Update: the installer closed Vision together with its whole process tree (taskkill /t). If Dota or Steam had been started by Vision, they closed with it. Now only Vision processes are closed.
v2.0.65Shipped by katsuro
Especially for you: Late game: no early items
Quick version: late-game situational keeps only expensive finished items.
Build tab: Situational slots by minute 35 and Late game: situational by minute 50 no longer contain early items (Magic Wand, Wraith Band, Perseverance etc.) or the shard and scepter that already appear in the Situational block. Only items from 2000 gold bought after minute 16.
v2.0.64Shipped by katsuro
We put together for you: Updates no longer break on stray files in the archive
What changed: stray files in the update pack are skipped instead of rejecting the whole pack.
Update: if the archive contains a stray file (for example a build cache), it is skipped and the update installs. An archive with dangerous paths (leaving the project folder, absolute paths) is still rejected as a whole.
v2.0.63Shipped by katsuro
Made for you: Updates install while Dota is running
Auto-update no longer waits for Dota to close.
Update: the new version is built and installed even while Dota is running (before, installation waited until you left the game). The app shows the Update window with a countdown. The old behaviour can be restored with the dev.applyInDota = false setting.
v2.0.62Shipped by katsuro
We built for you: Quick buy: recipe and Aghanim's Shard are read from the screen
In short: a recipe scroll is recognised by look; identical icons (shard) no longer block each other.
Quick buy: in the Dota panel every recipe has its own picture on the scroll, so the catalog icon did not match. An unrecognised brown scroll icon is now read as a recipe — Travel Boots (Boots of Speed + recipe) and Hand of Midas (Gloves + recipe) resolve to the whole item.
Quick buy: Aghanim's Shard and its Roshan copy share an icon and cancelled each other out (gap 0.00). Identical icons are now merged into one item — the shard shows in the hint.
v2.0.61Shipped by katsuro
Fresh for you: Quick buy: recipe and exact item composition
Here is the story: the recipe icon is recognised and the item is identified by its exact composition (parts + recipe).
Quick buy: the recipe scroll icon is now recognised. The item is identified by parts and recipe: the parts on screen must belong to it, extra parts rule a candidate out (Dragon Lance no longer gets mixed up with Sange and Yasha). One part plus recipe (Boots of Speed → Travel Boots, Gloves of Haste → Hand of Midas) and a lone recipe (Travel Boots upgrade) are recognised too. Checked on every item of the catalog: 116 of 118 recipe items resolve correctly, the other two are consumables.
v2.0.60Shipped by katsuro
We added for you: Gold hint: label for an item found from parts
What it means for you: an item inferred from quick-buy parts is labelled quick buy.
Gold hint: if the whole item is inferred from quick-buy parts (e.g. Sange and Yasha), the label says quick buy, not next in build.
v2.0.59Shipped by katsuro
Especially for you: Guide files audit: boots, Dagon, empty stages
In short: repeated boots, all Dagon levels and empty stages fixed from the real guide files.
Guide: early game no longer has base or second boots (one boots per build); Travel Boots move to late game.
Guide: only one Dagon is shown — the highest level (all five levels used to take space).
Guide: if Mid or Late game turn out empty, they are topped up with popular items of the position. Item parts are also dropped from early game when the full item is already in the guide.
v2.0.58Shipped by katsuro
We put together for you: Build tab: by 35 and by 50 minutes clearly differ
Here is the story: outside a match the 35 and 50 minute sets are topped up with popular items of the position.
Build tab: by minute 35 up to 3 popular items of the position are added, by minute 50 up to 8. Before, only situational items were added, and there are none outside a match, so the sets barely differed.
v2.0.57Shipped by katsuro
Made for you: The gold hint finds the item from quick-buy parts
What it means for you: if quick buy shows only parts, the hint works out the whole item.
Gold hint: Dota shows only the missing parts of an item in quick buy. The hint now finds the item those parts build into (ties: build order, then cheaper) and shows it whole when you can afford it, not the first part.
v2.0.56Shipped by katsuro
We built for you: Every hero gets an early-game block
The gist: early items stay in early game and Popular is filled with alternatives.
Guide: items bought before minute 14 stay in Early Game (including popular ones), and Popular Items is topped up with other fitting picks — up to 20 instead of 14.
v2.0.55Shipped by katsuro
Fresh for you: The gold hint targets the whole quick-buy item
The main thing: when quick buy holds an item and its parts, the hint targets the whole item, not the first part.
Gold hint: if quick buy holds Manta Style next to its parts, Manta is the target. With enough gold its icon shows; otherwise the most expensive part you can afford (Yasha). Before, the hint latched onto the first part (Blade of Alacrity).
v2.0.54Shipped by katsuro
We added for you: The gold hint shows the part you can afford
Quick version: if a quick-buy item is too expensive, the hint shows the most expensive part you can afford.
Guide: an item already in the build is not repeated in situational/popular blocks (shard, scepter and all others), even if its key came with an item_ prefix.
Gold hint: if you can afford the whole quick-buy item, it shows that item; if not, the icon of the most expensive part you can afford (for Manta Style with gold for Yasha only — Yasha, not a pile of small components), and the next part for the rest. After you buy a part the hint moves on to the next parts of the same item. This works for all recipe items.
v2.0.53Shipped by katsuro
We crafted for you: One build in the app and in the Dota shop
What changed: the Build section and the Dota guide are made from one picture; the set differs clearly by minute 20, 35 and 50.
The Build section (the Match and Items tabs), the purchase hints and the guide in the Dota shop now use the same picture: all builds of your position (players, tier-1 pros and Stratz), not the intersection of sources. Items in the app and in the shop match.
The assortment is wider: up to 12 items go into the main build, plus other notably bought items with their purchase time. So "By minute 20", "By minute 35" and "By minute 50" give a clearly different set (before, 35 and 50 differed by a couple of items).
v2.0.52Shipped by katsuro
We reworked for you: Stratz for everyone without a token; more precise freshness filter
For regular users the Stratz statistics are fetched automatically through the Vision server.
Without your own Stratz token the item statistics come from the Vision server (a Worker keeps the owner's shared token and a one-day cache). Nothing to enter: settings show "✓ Stratz connected automatically", and your own token stays as a backup channel. The request carries only the hero and position numbers.
The Stratz freshness filter no longer drops boots, Aghanim's Shard and Aghanim's Scepter: Stratz does not list them in purchases (the shard and the scepter are counted separately), which made boots slide into "Popular items" for some heroes. The popularity list keeps up to 120 items instead of 45 so that a rare item (for example Helm of the Dominator on Faceless Void) is reliably filtered out.
v2.0.51Shipped by katsuro
We came up with this for you: Stratz: requests one by one, site protection no longer gets in the way
In short: the Stratz token works; the 403 failures were Cloudflare protection against a burst of requests, now requests go one at a time.
Requests to Stratz go one at a time with a pause of about 1.2 seconds, and when Cloudflare asks for a bot check ("Just a moment…", code 403) Vision waits a few seconds and repeats the request. Before, a burst of parallel requests triggered this protection and some heroes were left without Stratz data.
In settings, under this protection a yellow mark "The token is fine, Stratz asks for a bot check" is shown instead of a red error; red stays for real causes only (a wrong or expired token, no connection).
Stratz statistics are summed over all rows of one item (by purchase time) — before, only the last one counted.
v2.0.50Shipped by katsuro
Especially for you: Stratz token: "connected" mark and check
Here is the story: settings show whether Stratz accepted the token and which account is connected.
A clear mark appeared under the Stratz token field: green "✓ Stratz connected · account: name" with the avatar of your Steam profile, or red "Stratz did not accept the token" with the response code and a hint on what to do. The field is highlighted in the same colour. The check runs when the section is opened, when the token is saved and with the "Check" button.
If Stratz answers 403 (site protection), requests are repeated with other User-Agent headers and the working one is remembered. The reason for a refusal is written to the log together with the start of the server reply.
v2.0.49Shipped by katsuro
Fresh for you: Current builds: Stratz and no outdated matches
The Dota guide is checked against Stratz and no longer uses pro matches that are a year and a half old.
Old pro matches are removed from builds: the "1.5 years" slice pulled outdated items into them (for example Helm of the Dominator on Faceless Void and Anti-Mage). Tier-1 pros are taken only for the last 6 months and only if the position has at least 8 matches; their weight is half of the players' matches.
Stratz is now a freshness check (needs a token: Settings → "Stratz token"; it is created for free at stratz.com/api): an item that is rarely bought on the position now does not get into the guide stages, and items that are popular now go into "Popular items". Stratz statistics are kept for a day and requested once per hero and position.
"Popular items" in the guide are always filled: answers to the enemy picks, situational items of the position, other items from player builds and popular ones by Stratz. Consumables, item parts and Quelling Blade no longer appear there (it could land there for supports).
v2.0.48Shipped by katsuro
We added for you: Builds from real matches: positions, boots, stages
In short: the Dota guide is built from all builds of the position; supports no longer land in core builds.
The hero position in builds is detected more accurately: a support is recognised by ward items in the first 15 minutes and by a low GPM, not only by cheap items. Before, supports with Blink, a scepter and Solar Crest (for example Undying) were treated as cores and their builds were mixed with real core builds — about half of the "position 1–3" groups were actually supports. The match data is rebuilt (in the background, about 15–20 minutes), after which the builds of all heroes are rewritten to Dota.
Boots no longer disappear from a build: different players take different boots (Arcane, Tranquil, Phase) and none reached the threshold. Boots are now one slot: the most common kind is taken and the share is counted over all matches with boots. In the Dota guide they sit in Early game, like Valve guides.
The Dota guide is built from ALL builds of the position (players and tier-1 pros on the same position), not only from items both sources confirmed at once: heroes with few matches used to lose whole stages. An item goes into the main build if it is bought in at least 14% of the position matches; Mid game is up to minute 28, Late game after it (if it is empty, the two latest Mid items move into it); the rest goes to Other.
Tier-1 pros of other positions are no longer mixed into the build of the player position.
v2.0.47Shipped by katsuro
We crafted for you: Builds for all heroes and for a new patch
Here is the story: hero builds are tied to the patch: after an update Vision rebuilds them from new-patch matches.
The Dota build is now for your position, with positions no longer mixed: once the hero and position are known in a match (detected by lane, chosen manually or with the Ctrl+Alt+1–5 hotkey), Vision writes the guide for exactly that position; change the position and the write is repeated. If the position is not detected, a request to choose it (Ctrl+Alt+1…5) appears above the quick-buy panel at the start of the match. Before the match every hero has the build of its main position written.
The guide has only finished items: if it has an item, its parts (for example Ogre Axe, Staff of Wizardry and Point Booster next to Aghanim's Scepter) are not shown. Start and laning are unchanged.
The Dota guide has no repeats: the main common build (native Dota stages, which also includes your usual purchases on the hero) and below it an "other picks, by time" block for the popular build, the best-winrate build, alternatives and builds of other positions, containing only items the guide does not have yet; if there are fewer than two new items the block is not written. The start and identical sections are no longer repeated. Block names are Latin for now, so Dota reads the file reliably.
The guide in Dota is more varied: popular hero items (OpenDota and other builds) are added to Mid game and Late game, and items from the hero builds of other positions (players and pros) to Other. All heroes are rewritten at launch.
The gold hint reacts almost instantly: the panel is read without pauses between frames, the hint refreshes every 0.06 s and disappears 0.3 s after the item is removed.
The gold hint is shown only for an item from quick buy: while it is empty there is no hint (it used to say "next in build" far above the panel).
The header now has a "Dota builds: 11 of 127" pill next to "Data" and "Patch" — writing the builds of all heroes to the Dota folder is visible in real time (green once all are written; during a match the writing waits for it to end). Six heroes are written at once.
The build file for Dota is rewritten to match Valve files: Latin letters only, Valve line endings, block names are Dota native tokens (starting, laning, mid, late, other; Dota translates them itself), no extra keys. The guide was not showing up in game, so everything that could stop Dota from reading it is gone. All heroes are rewritten right when Vision starts.
The build file is written through a temporary file and a rename and is left alone when the text did not change: Dota will never see an empty or half-written file in the middle of a match.
The gold hint is much faster: the quick-buy panel is read by a separate fast loop (about 7 times a second, only while a game is running), the hint refreshes every 0.15 s, and the main Vision window behind the game is no longer slowed down by Chromium.
The hint no longer forgets the chosen item: when the quick-buy panel is briefly not visible (covered by a Dota tooltip or the cursor), Vision keeps the last reading for up to 30 seconds instead of jumping to the build item; the panel position and the open-stash flag are remembered too.
The startup check screen has a "Hero builds in Dota" row showing how many heroes are already written to the game folder (writing runs in the background, the screen waits a few seconds).
Builds for all heroes are written to the Dota folder right when Vision starts (before the game; three heroes at a time, the log says "hero builds: written N of M"), checked every 2 hours; after a match the write no longer waits for Dota to close. The gold hint updates 2.5 times faster. The hint also hides when the stash is open and the quick-buy panel has one row.
The gold hint hides while the shop or the stash is open (at base, "Take all"): the Stash panel above the quick-buy panel is detected from the frame, so the hint no longer lies on top of that window.
Quick buy: the Dota panel is found by its orange border lines (the row count comes from its height, no icons needed); icons are read at exact positions top to bottom, left to right — up to 4 rows; Blink Dagger is no longer mistaken for Wind Lace or Reaver. The gold hint shows the cost of the first item in the list, sits 8 px above the top line of the panel (the Y position setting of the overlay no longer applies to it) and moves up when the panel grows by a row (5+ items). diag\quickbuy-read-* snapshots show the whole panel; the log shows detected lines.
The gold hint always states how much gold the item needs ("Wind Lace: need 225 · enough" / "need 500 · 490 short"), not just "enough".
Writing the build into Dota is now logged (file path, heroes written, error reason); the extra vision_<hero>.txt copy is no longer created.
Quick-buy hint: any item you pick (including the stick, branches and other consumables) shows how much gold is missing; up to 6 quick-buy slots are read.
The build is written to Dota for ALL heroes at once (heroes you picked first), not only after you open a hero in the app: the guide is already in the folder when you pick a hero. It runs in the background and waits during a match. After the first write restart Dota once so it picks the files up.
The gold hint now sits higher and no longer covers the inventory slots and the quick-buy button (if you moved it yourself, your position is kept — change it in "Overlay").
The Vision damage bar covers the native Dota Plus bar: the native one is read from the Dota window frame (the overlay is not in it) and ours sits right on top. If the window frame is unavailable (exclusive fullscreen) everything works as before — the bar under the panel, the native one visible below.
The "Goal" column in the panel is more realistic: net worth and last hits come from the curve of real Ancient+ matches of the hero (marks at 3–40 minutes, 75th percentile); kills/deaths/assists build up toward the end of the match instead of evenly. No hero data — the previous average-rate calculation.
The damage bar works like Dota Plus: the shares of the last damage always stay on the bar and update when new damage is dealt. If data drops for a moment, the bar is not reset.
Gold hint: if an item sits in quick buy, the hint is about that item ("Helm of the Dominator: ... short") and no longer replaces it with a component ("Enough for: Crown"). Build components are suggested when quick buy is empty.
Dota quick buy: the log now records how confidently each icon is recognized and area snapshots are saved — used to tune recognition (the hint confused Skull Basher with other items).
Planet transition (Steam → Dota → search): the camera pulls back, circles the planet system and flies into the next planet, with light streaks and a stage-colored shockwave ring at each stage.
When a new patch is released the builds cache (players and pro tier-1) is dropped: builds are fetched again and written to the Dota shop.
While the new patch has fewer than 25 matches of the hero, the usual time slices are used; once there are more, only new-patch matches are used.
v2.0.46Shipped by katsuro
We reworked for you: Build name in Dota
What it means for you: extra name fields were added to the guide file so Dota labels the build "Vision · hero · common build".
The Dota build file now has title and name fields next to Title: Dota called the build "Copy of Default Items". If the name does not change, rename the guide once with the pencil in the shop — Dota remembers it.
v2.0.45Shipped by katsuro
We came up with this for you: Items tab, shard among situational
The gist: the out-of-match "Build" tab is now "Items". Aghanim shard and scepter, when not in the main build, sit among the situational items. The build pace is shared between "Items" and "Match".
The left "Build" tab is renamed "Items"; during a match the same build stays in "Match" as "Hero build".
Aghanim shard and scepter appear among the situational items — in the app and in the Dota shop — when hero statistics do not put them in the main build.
The selected pace (by minute 20, 35, 50) is kept when switching between "Items" and "Match".
v2.0.44Shipped by katsuro
Especially for you: One hero build and damage type by enemies
The main thing: the "Build styles and write to Dota" section is merged into "Hero build": one common build with the same stages as the Dota shop. In the damage bar you can pick enemy heroes — colors are computed from them.
In "Hero build" the stages now match the Dota shop: starting items, early game, by minute 20, 35 and 50. That common build (pro tier-1, players and OpenDota cross-check, purchase frequency, your own purchases) is what gets written to Dota; the write toggle and "Restore Valve original" sit under the build.
Quelling Blade no longer lands in the common build of ranged heroes. The build is also written as a separate vision_<hero>.txt so it is named "Vision · hero · common build" in the Dota guide list instead of "Default items".
Damage bar: in "Overlay" you can pick up to 5 enemy heroes by hand (the demo has no enemies). The physical / magical / pure share is estimated from them and colors the bar; without a pick, enemies are taken from the game table.
v2.0.43Shipped by katsuro
We put together for you: Shard by statistics and your own purchases in the build
Quick version: the separate "Aghanim" block is gone: shard and scepter are regular items by hero statistics. Vision remembers what you buy and suggests it more often.
The build in the Dota shop and the Match section no longer have a separate "Aghanim" block. Shard (and scepter) land in the "By minute 20 / 35 / 50" stages on their own when the hero commonly gets them in matches, e.g. shard on Terrorblade.
Vision remembers what you build on each hero in real matches (demo does not count). Items you buy regularly (at least 2 matches and at least 40% of your matches on the hero) are added to the build in the Dota shop and to the item advice, at your average purchase minute.
Shop build blocks are named after what they are based on: "Против героев врагов" (enemy picks), "Ситуативные: статистика матчей" (item purchase frequency from matches, like Dotabuff/OpenDota), "Альтернативы: другие популярные сборки" (other popular builds).
v2.0.42Shipped by katsuro
Made for you: Damage bar: damage taken vs. health
What changed: the damage bar under the panel shows what share of max health the hero lost over the last seconds; the overlay hides faster in the Dota menu.
Damage bar: when the hero takes damage, it shows the health lost relative to max health, e.g. "−21% of max HP (−106)". A few seconds after the fight, or at full health, the bar goes back to its usual look.
Bar colors follow the enemy damage types (physical, magical, pure) when known; otherwise it is grey.
The overlay and hints now disappear faster in the Dota menu (heroes, armory, settings): about a second instead of 3–4.
Fixed: the bar reader could mistake the overlay's own bar for the native Dota Plus bar.
v2.0.41Shipped by katsuro
We built for you: Vision signature and distinct "By 35" / "By 50"
The build in the Dota shop is signed as coming from Vision, and "By 35" and "By 50" in the Match section now differ.
The build title in the Dota shop starts with "Vision ·" and the author is Vision, so it is clear where the build comes from.
In the Match section, by minute 35 the first situational slots are added; by minute 50 — Aghanim (shard and scepter) and a wider situational set.
v2.0.40Shipped by katsuro
Fresh for you: Time-based builds and Aghanim
In short: the build in the Dota shop is split by time (by minute 20, 35, 50) and extended with Aghanim, situational and alternative items.
The build Vision writes into the Dota shop now goes by stages: start, lane, "By minute 20", "By minute 35", "By minute 50 and later". Items are placed by their average purchase time in matches.
New blocks: "Aghanim" (shard and scepter), "Situational" (from matches and from the enemy lineup) and "Alternatives" — items from the hero's other popular builds on this position.
Build files are rewritten when Vision starts.
v2.0.39Shipped by katsuro
We came up with this for you: Overlay hides in the Dota menu
What changed: when the Dota menu (heroes, armory, settings) is open, the overlay and hints are hidden.
The overlay and hints now hide in the Dota menu itself (hero page, armory, settings), not only when the game is minimized, and come back in the match. It is detected by the dark tab bar at the top of the screen, checked every 1.5 seconds and only while Dota is active.
v2.0.38Shipped by katsuro
Especially for you: Wiki updated
The Wiki gained the Highlights section, the overlay visibility rule and an answer about the Windows warning.
Wiki: a new Highlights section; in "Overlay" — when it is visible (only while Dota is open and active); in "FAQ" — what to do if Windows warns during installation.
v2.0.37Shipped by katsuro
We put together for you: Fixes 2.0.37
In short: the update build retries the step if Windows briefly blocks the installer.
If Windows briefly blocks the freshly built installer (a spawn UNKNOWN error), the build waits and retries that step once instead of stopping.
Old build folders dist\bNNNN are cleaned up automatically.
v2.0.36Shipped by katsuro
Made for you: Overlay tied to the Dota window
Here is the story: the overlay and notifications show only while Dota is open and in focus; important updates reach Highlights by themselves.
The overlay, hint and notifications appear only while the Dota window is open and active. Minimize the game or switch to the desktop, a browser or the Vision window, and everything hides and comes back when you return to Dota.
Important app updates appear in the Highlights section on their own (changelog entries marked big).
v2.0.35Shipped by katsuro
We built for you: Highlights section
What it means for you: the news section in the left menu is called "Highlights".
The Highlights section sits in the left menu next to Match, Heroes, Build and History: Vision posts, "Dota world" and official news.
v2.0.34Shipped by katsuro
Fresh for you: Fixes 2.0.34
The gist: the damage bar caption in the overlay is no longer cut off.
Overlay: the "Damage · no data" caption is shorter and fits the panel (the second line used to be cut off at the bottom).
v2.0.33Shipped by katsuro
We added for you: News section
The main thing: news moved to its own section and now includes a "Dota world" digest.
New "News" section in the left menu (the block is removed from the Match screen): Vision posts, a "Dota world" digest (transfers, tournaments) and official Dota 2 news.
v2.0.32Shipped by katsuro
We crafted for you: Posts in Highlights
Quick version: an admin can publish news for all users right from the app.
The Highlights block: Vision posts on top, official Dota 2 news below.
v2.0.31Shipped by katsuro
We reworked for you: Highlights feed
What changed: the Match screen now shows the latest official Dota 2 news.
New "Highlights" block on the Match screen: the latest official Dota 2 news and patches from Steam; a click opens the post in the browser. News is cached for an hour; without internet the last saved items are shown.
v2.0.30Shipped by katsuro
We came up with this for you: Fixes 2.0.30
A new update from the cloud is picked up within ~15 seconds.
The cloud check for a new update now runs every 15 seconds instead of every minute.
v2.0.29Shipped by katsuro
We built for you: Fixes 2.0.29
Quick version: the cloud check leaves a trace in incoming\pull.log and no longer depends on caching.
Auto-pull from the cloud records what it did on the last check in incoming\pull.log and bypasses the cache on every request.
v2.0.28Shipped by katsuro
Fresh for you: Fixes 2.0.28
What changed: the "Work in progress" note in the header is now off by default.
The "Work in progress — an update may be released soon" note no longer shows on its own; it can be enabled in Admin → Development.
v2.0.27Shipped by katsuro
We added for you: Fixes 2.0.27
Updates install faster: the "Update ready" window lasts 8 seconds and the old version closes more reliably.
The "Update ready" window now counts down 8 seconds instead of 45; the build time hint is fixed ("under a minute").
Before installing, the old Vision is closed together with all child processes and with a longer pause, so the installer no longer trips over locked files.
v2.0.26Shipped by katsuro
We crafted for you: Fixes 2.0.26
In short: control build: the update arrived from the cloud by itself.
Auto-download check: this version arrived from the cloud without sending a file by hand.
v2.0.25Shipped by katsuro
We reworked for you: Fixes 2.0.25
Here is the story: developer updates are pulled from the cloud automatically.
Update: on the developer computer the app checks an encrypted pack in the cloud once a minute and starts the build by itself — no need to send the file by hand any more.
Update: fixed a build-script error that made version 2.0.24 stop right at the start.
v2.0.24Shipped by katsuro
We came up with this for you: Fixes 2.0.24
What it means for you: updates build faster.
Update: tests are no longer repeated on the computer (they already run before sending), and a build that is not published skips installer compression — the wait is noticeably shorter.
v2.0.23Shipped by katsuro
Especially for you: Fixes 2.0.23
The gist: control build: checking the quiet update with no black windows.
Quiet update build check: no black windows should appear during the build.
v2.0.22Shipped by katsuro
We put together for you: Fixes 2.0.22
The main thing: updates build quietly with no black windows; status pills are readable on every theme; new “Dawn” icon.
Update: the black “ping” windows no longer pop up during the build — they covered the “Update ready” window. The build runs fully hidden, and when the countdown reaches zero the installation starts by itself.
The “Update ready” window is now opaque and shows “Installing the update…” at zero.
Header: the “Data”, “Patch”, “Waiting for Dota” and “Work in progress” pills are larger and higher-contrast, each theme has its own colors (on “Dawn” — dark text on a light pill), no glow.
The “Dawn” icon was redrawn to match the theme: warm sand and a jade eye.
v2.0.21Shipped by katsuro
Made for you: Fixes 2.0.21
Quick version: the “By games played” hero sort now uses your match history.
Heroes: “By games played” showed zeros for every hero — the number of games now comes from the same match history as the History tab (supplemented by OpenDota data).
v2.0.20Shipped by katsuro
We built for you: Fixes 2.0.20
What changed: updates build by themselves again: the cause of the stuck build was found; the “Building” label no longer hangs forever.
Update: the build did not start because the shared build log was held by the installed app. Every build now has its own log, and after 15 minutes the “Building” label reports that the build did not finish.
v2.0.19Shipped by katsuro
We reworked for you: Fixes 2.0.19
The main thing: dotabuff ads are removed by the site’s real markup; a timer while an update builds and an “Update ready” window; heroes can be sorted by games played.
Browser: the reason Dotabuff ads stayed was found — they are served from the site’s own domain. Their blocks (the bookmaker carousel, banners, the floating video player and partner links) are now hidden at load and later.
Update: while a build runs, a timer shows at the bottom of the window; when the new version is ready, an “Update ready” window appears with a countdown and an “Update now” button. It cannot be closed or postponed — the app restarts by itself.
The “Yang” theme is replaced by “Dawn” (still free): warm sand, jade and amber instead of grey-white. New colours for the interface, overlay, planets and cosmos.
Heroes: a “By games played” sort — the heroes you have played the most come first, and each card shows the number of games.
v2.0.18Shipped by katsuro
We came up with this for you: Fixes 2.0.18
Quick version: faster update installation; Botson explains why “Check for updates” does not see a new version.
Installing an update is faster: the heavy “npm install” is skipped when the dependency list has not changed.
v2.0.17Shipped by katsuro
Especially for you: Fixes 2.0.17
What changed: the gold hint shows the item parts you can afford and no longer flickers; the damage bar says plainly what data it lacks.
Gold hint: if gold covers the whole item — its icon; if only a part or several parts — the icons of those parts together and how much is missing for the full item.
The hint no longer flickers when Dota briefly “loses” the quick-buy item while the screen is read.
Heroes: the scrolling area is moved to its own layer — far fewer stutters while scrolling the hero table.
Browser: third-party embedded ad frames (iframe) are blocked, floating bottom banners and bookmaker banners are hidden, including those that load later.
Skills: icons now come with ability names, a “Q → W → Q …” sequence and a “which levels to take what” summary. The “What to do with items” block is removed from the Build tab.
The overlay and the gold hint hide in the Dota main menu: if game data stops arriving for more than 25 seconds, there is no match.
Damage bar: without the Dota Plus panel and known enemy heroes (training mode) it says what data is missing instead of “waiting for enemy heroes”.
v2.0.14Shipped by katsuro
We built for you: Fixes 2.0.14
Here is the story: smooth scrolling in Heroes, the gold hint above quick buy, “bridge” items in advice, stronger bookmaker ad blocking, damage-bar diagnostics and an honest tester.
Heroes: scrolling is smoother — background animations and dust pause while you scroll, and hero icons load at once instead of in jerks as they appear.
The gold hint sits above the quick-buy panel and shows the item in quick buy (if empty — the next build item), its price and how many parts you already have.
Item advice: between Manta Style and Eye of Skadi, Dragon Lance or Hurricane Pike may be suggested — depending on the hero’s range, damage type, enemies and game time.
Browser: bookmaker ads and “Advertisement” blocks are hidden continuously, including those that appear a few seconds after the page loads.
Damage bar: if the native panel is not found, the app writes the reason to the log and saves a snapshot of the screen area for analysis.
v2.0.13Shipped by katsuro
Fresh for you: Fixes 2.0.13
What it means for you: a real update status, “Match” resets after leaving Dota, ping aware of VPN, a browser limited to pinned sites with ad blocking, Botson with ready answers and self-healing.
Updates: the summary (V icon) no longer shows an endless “Checking for updates…” — it shows the real status (up to date / downloading / ready to install / error with the reason) and has a “Check for updates” button; the check repeats when you return to the window. When an update is downloaded, the “Update now” card appears again.
Match: after Dota closes, the previous match data is cleared within seconds; “Match” returns to the home screen, ready for the next game.
Network: the summary detects an active VPN and shows the ping with VPN and the usual ping without it (from your earlier measurements; with few of them — a rough estimate, labelled).
Browser: only pinned sites (and their subdomains) open; a new site can be pinned from the address bar, search is off. Ads and trackers are blocked (the 🛡 button turns blocking off, with a counter). Ads inside YouTube videos are not blocked.
Heroes: “Priority pick” and the “How the hero is picked” explanation are merged into one card with no nested tabs.
v2.0.12Shipped by katsuro
We added for you: Fixes 2.0.12
The gist: the startup check now comes before “What’s new”; a lighter Heroes tab with universals; one unified Build, advice that follows its order, a gold hint and overlay themes matching the appearances.
Startup: the check (internet, version, Dota, key) runs first, and only then the “What’s new” window.
Heroes: cards are lighter — scrolling is smooth even with a hundred icons. Heroes are split by attribute, and a “Universal” section is added.
History: hero icons and names no longer disappear (“#136”): if OpenDota is unavailable, a saved or built-in hero list is used and loading retries itself.
Damage bar: while the native Dota Plus bar is not visible on screen (demo mode, test hero), an estimate from the enemy heroes is shown, labelled “est.”, instead of an empty “waiting for data”.
Build: “Hero build” and “Common build” are merged into one “Hero build” section; build styles and writing to Dota are inside it. “Match” keeps only the pre-game purchase.
Build: bought items are highlighted and tagged “bought”; click any item to see its description, price and how it is assembled.
Build: “By minute 20 / 35 / 50” is now calculated from the gold earned by that minute, so the sets differ; for 35 and 50 minutes interchangeable situational slots (“pick one of the options”) are added based on the enemy lineup.
In-game purchase advice follows the order of the Build section: the reliability percentage is the agreement of the build sources, reduced for items further down the order; items outside the build are marked situational. After boots, items from the end of the build are no longer suggested.
Position: Vision detects it itself from the lane and the hero’s roles; you can change it manually in one place in the Build section.
“Match” and “Your team” are one card: team lineups on top, the table of the chosen side below.
A hint above the quick-buy panel: how much gold is missing for the next build item, counting bought parts and your current gold. Its position is adjustable in the Overlay tab.
Overlay: the “Yin”, “Yang”, “Noir” and “Aegis” colour sets match the appearances and apply automatically; extra effects removed; thin pace-to-goal bars and icons for kills, deaths, assists, last hits and denies were added to the stat rows.
v2.0.11Shipped by katsuro
We crafted for you: Fixes 2.0.11
The main thing: startup is more reliable: one failing step no longer leaves the window cut off from the app. For the admin — developer tools and a pre-build check.
Startup is isolated step by step: if one of them fails (icon, tray, Dota server, hotkeys), the rest of the app still starts and the window is not left without a link to the program (the “No handler registered” errors from the Botson report). The cause of the failure is written to the log.
v2.0.10Shipped by katsuro
We reworked for you: Fixes 2.0.10
Quick version: match and “Your team” are now one section, quick buy is replaced by one unified build, and item icons are fixed.
Match: “Match” and “Your team” are merged. The players table follows the chosen side, and clicking a player’s nick shows recent matches, average KDA and everything already in the table.
Build: the non-working “quick buy” is gone. In its place is one unified build: items where pro matches, players and OpenDota popularity agree, by game stage, plus situational items by heroes and match time (items due now are highlighted).
Item icons: wrong item names fixed (e.g. Battle Fury showed a “BA” placeholder), duplicate items removed (double Black King Bar in “Jungle”), the placeholder no longer sticks when the item changes. “Bought/outdated” tags are more compact and no longer cover the icon.
ProVision
Build by game pace: the “By minute 20 / 35 / 50” buttons show what is statistically bought by that mark.
v2.0.09Shipped by katsuro
Made for you: Fixes 2.0.9
The gist: a “What’s new” window at launch, a damage bar in the overlay, a Wiki free of gender wording, and a change guard before every build.
After an update, a “What’s new” window appears at launch with a short summary of this version. It shows once per version (after the welcome and never over a mandatory update), and opens the full changelog from there.
The Wiki is rewritten neutrally: no “bro”-style address and no wording that depends on gender. It does not matter who uses Vision — every user is a member of the Vision team family, and we deeply value each one.
ProVision
Overlay: a damage bar — physical, magical and pure — now sits under the Dota Plus panel, the same width and colours as the stats table, so they look like one piece. The shares are read from the game screen (frame read only, while the overlay is visible); if the bar is not on screen it shows “Damage · waiting for data” — numbers are never made up. Toggle it on the Overlay tab, where “Damage bar snapshot” helps with setup.
v2.0.08Shipped by katsuro
We built for you: Fixes 2.0.8
The main thing: fixed startup after 2.0.7: the startup check sees the version, subscription and builds again.
In 2.0.7 the main process crashed at startup because of an overlay bug, so some features (storage, version check, subscription, builds) did not work — the startup check showed “could not check”. Fixed.
The overlay is created hidden and appears when a match starts.
v2.0.07Shipped by katsuro
Fresh for you: Fixes 2.0.7
Quick version: history is one table with a match breakdown inside; the overlay fits the Dota Plus panel by itself and shows only in a match; Match and Build work as one.
History: “Your history” and “Matches” are merged into one table. Clicking a match (a Marci game, say) expands the match table right there: both teams, heroes, K/D/A, GPM/XPM, last hits, damage and items — no jump to an outside site. The “Form” and “By month” sections are gone.
Dota Plus overlay: it now fits the real panel by itself — position and scale come from the game window (1080p, 1440p, windowed) and it covers the panel fully. Manual moving, scale and opacity are removed. The overlay shows only on the match screen, never in Dota menus. Colors are deeper and more contrasting, with minimal animation. Dota’s own panel cannot be hidden — the app can only cover it with its table.
Loading and strategy screen with the hero already picked: Match and Build are joined — allies’ and enemies’ picks, your position, what to buy next and hero builds are on one page. The separate Build tab is hidden during a match. Dota does not pass other players’ KDA to the app, so yours is shown.
Removed the “hidden hero” notifications (“Enigma not visible”, “Not visible: …”) and the unreliable notification along with them. A false “Searching” no longer hangs when Dota is not actually searching.
“Work in progress” lights only while you talk to Claude or Botson works with it; the patch 7.41 pill is green when the patch is up to date. The Dotabuff button is gone from the startup check.
v2.0.06Shipped by katsuro
We added for you: Fixes 2.0.6
What changed: match search responds instantly and shows search details; a player’s Dotabuff page opens without waiting; a new way to close the changelog.
The “Find match” button responds at once: the screen switches to “Searching” the same instant, and the click in Dota is made by a persistent helper kept ready while the game runs (before, every click started a new process, taking 1.5–3 seconds). If the helper is unavailable, the previous method is used.
During a search Vision shows what you are looking for (mark Ranked with position 1–5, All Pick or Turbo — Dota does not tell the app), how long you usually waited in this mode from your past searches, and the ping to the nearest Valve data centers. Search regions are still set in Dota’s own settings.
A player’s Dotabuff page is preloaded while the cursor is over the nickname and opens instantly; the general Dotabuff page is warmed up 2.5 seconds after launch.
Changelogs: a cross at the top instead of the “Close” button at the bottom; it turns red as soon as the cursor gets near its edge or the margin around it.
The “Все выбирают” mode is now called All Pick everywhere. The Browser section got an icon.
v2.0.05Shipped by katsuro
We crafted for you: Fixes 2.0.5
A new Browser section with pinned sites and search; the Close button in the changelog works across its whole area.
New Browser section: pinned sites (Dotabuff, OpenDota, Stratz, Liquipedia, Dota 2 Wiki, Steam, YouTube, Twitch), a search and address bar, and back, forward, reload and home buttons. An open site can be pinned with the star or removed with the cross. Search is Yandex in the Russian version and Google in the English one. File downloads and access to the camera and location are disabled in the browser.
Fixed: the Close button in the changelog only worked near its center — at the edges the click was caught by the window header. The button now works across its whole area.
v2.0.04Shipped by katsuro
We reworked for you: Fixes 2.0.4
In short: more reliable update installs and a Botson ↔ Claude link: report, reply and fix verification.
Installing updates is more reliable: if the build log is held open by another program, the build still starts and writes to a spare log; after installing, Vision starts without depending on the log.
v2.0.03Shipped by katsuro
We came up with this for you: Fixes 2.0.3
Here is the story: history and Match show the same data, item advice is a compact in-game plate, and Build is shorter and smarter during a match.
History and Match now use one data source: recent profile matches (Stratz and OpenDota) go straight into History, and your row in Match is computed from the full history. Both sections refresh together after every game.
If History has no matches for the selected period, it tells you how many there are in total and suggests “All time”.
Item advice arrives right in the game: a small plate with an icon, the name, importance (“Critical”, “Needed soon”, “Situational”) and a one-line reason. One piece of advice at a time, the notification sound is kept.
Boots advice: after minute 22, instead of tier-2 boots (for example Power Treads) Travel Boots are suggested — “Needed soon”, with a hint of what to replace. With no boots at all, Travel Boots come straight away.
Overlay: when the cursor is over the plate covering Dota’s native stats panel, it turns into frosted glass — slightly more transparent, with the native panel barely visible beneath.
The overlay is visible only in the match window: when Dota is minimized or closed it no longer hangs over the desktop or other programs, even if Vision is open.
History: match loading is fixed — the hero, time and K/D/A used to be lost (showing “#undefined”, NaN and a blank icon). Every match now shows the hero with its icon, the score, duration and date; History reloads once.
The Match screen no longer shows “Game accepted — loading into the match” when Steam and Dota are closed.
Build during a match: the “All items” catalog is hidden, and “What to buy next” follows the selected build for your position and accounts for what you bought or sold, your gold and the game time — early items are no longer suggested once their time has passed.
v2.0Shipped by katsuro
We crafted for you: Vision 2.0 — major update
What it means for you: a new Match screen, three planet worlds, settings search and more reliable data.
Settings are split into large sections; each has a feature search, and the found feature is highlighted with a frame in the theme colors.
The changelog is shorter and clearer; admin entries moved to a separate window with an unread indicator.
Performance mode shows the graphics card and its memory.
The Match screen was rebuilt: the planet, stage and button follow the game state — Steam, Dota 2, match search. Each stage has its own planet, and each theme has its own set of planets: ice, ocean, gas giant, desert, lava.
One shared game-state detector: the screen always matches what is actually running.
Launching Dota 2 with one button: the Steam launch-options warning is closed automatically.
Match finder: a window over the game, a sound of your choice and auto-accept; if accepting failed, the app tells you.
New match table: teams, players, levels, KDA and items with tooltips.
Yin and Yang themes are free; the app icon changes with the theme.
Settings: search by feature, calm mode, custom hotkeys, settings transfer between computers and rollback to a previous version.
Performance mode: Vision detects CPU, memory and graphics card, then picks the effects level and Dota launch options.
Data: recent matches and heroes are combined from OpenDota and Stratz (set the Stratz token in settings), and directly from Valve with a Steam Web API key.
Built-in browser for Dotabuff and player profiles; builds are checked against the current patch.
Auto-update: a 20-second warning before restart, a pause after failed versions, an optional beta channel.
Startup check: internet, version, link with Dota 2 and subscription.
Wiki knowledge base, a short three-screen intro on first launch, space and window glow in theme colors.
The interface and the knowledge base are fully translated into English.
A universe around the window edges: nebulae, star dust, a distant galaxy and rare meteors; in the Yang theme space is grey and crisp so it stays distinct from the light background.
The Yang theme is dimmer and easier on the eyes; one font across the whole app.
Item descriptions are cleaned of service symbols and cut to three short lines; the changelog is easier to close — a big button and Esc.
Unstable features removed: team comparison, net worth, match statistics, post-game review and event feed.
Build: items are clickable — an item goes to quick buy and to the Dota guide (click again to remove). Bought items are marked, and early items become “outdated” as the match goes on and can no longer be clicked.
Hero builds and “Common variants” are built from tier-1 pro player matches separately for each position (carry, mid, offlane, supports); if there are few pro matches, from all-player statistics. The source can be switched.
History: sections by game mode — Ranked, Turbo, Single Draft, All Pick and others; the statistics follow the selected mode.
The overlay covers the native Dota table with a solid plate, even when there is no game data yet.
Dynamic item advice: “Critical”, “Will become critical soon” and “Situational” — based on the build, game time, gold, filled slots and the enemy lineup (stick → Wand or boots, boots → Travel, Blink upgrade, BKB). The notification sound stays, there is no voice; the same items go to Dota’s “All builds” (the “Vision: now” block).
The Botson assistant with voice and advice is switched off: it will become an app tester (admin only for now).
The app is called Vision. Numbering: big updates are 2.0, 2.1, fixes are 2.0.01.
ProVision
Auto-accept and auto-search after Dota launches; these features have a golden frame.
Premium themes Noir and Aegis with their own sounds, icons and cursor glow.
A richer planet: more stars and ships with trails.
MaxVision
MaxVision planet: nebula, aurora and six ships.
v1.1Shipped by katsuro
We built for you: Subscriptions and auto-update
Auto-update: Vision finds a new version, downloads it in the background and offers a restart. Settings and key are kept.
Items look the same everywhere; clicking an item adds it to the quick-buy queue (nothing is purchased).
ProVision
ProVision: overlay, palettes, auto-accept, priority pick and premium themes. New users get 7 days free (one trial per device).
MaxVision
MaxVision: everything in ProVision plus the Botson assistant with voice and advice.
v1.0Shipped by katsuro
Fresh for you: First version
App window, overlay with timers, hero pick and build hints.