Skip to content

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 05 Sep 18:25
· 119 commits to main since this release

Windows installer — read this if Defender complains

Windows Defender has been quarantining MTGA Tracker.exe from the 0.6.1
installer as Trojan:Win32/Wacatac.B!ml (sometimes .C!ml). The tracker
is not malware; the !ml suffix marks a machine-learning guess, not a
match against anything known, and it fires on unsigned PyInstaller apps
constantly. The shape of this one is exactly what the heuristics distrust:
a freshly built, unsigned executable with no publisher that tails another
program's log, runs a local web server, launches helper processes, and — for
the collection exporter — reads Arena's memory.

This release does the two free things that help:

  • The PyInstaller bootloader is compiled from source on the build
    machine instead of shipping the prebuilt one that every PyInstaller-packed
    trojan also ships, so the exe no longer shares those bytes with them.
  • Both executables carry a real version resource (company, product,
    description, version) — an anonymous exe scores worse than a described
    one.
    Signing the binaries is the only complete cure and it costs money every
    year, so it is not happening for a free tool; each release is instead
    submitted to Microsoft as a false positive, which clears that build within a
    day or two. If Defender has already quarantined your install: Windows
    Security → Protection history → the Wacatac entry → Restore
    , then Allow
    on device
    , or reinstall after the verdict clears. Details in QUICKSTART.

Performance

Measured on a ~1000-game database. Numbers are cold loads from the tracker
itself; a warm dashboard is faster still.

  • Overview: 803 ms → 227 ms (about a quarter of the time). All Games and
    deck pages load in under half the time; the opponent page in about a fifth.
  • Refreshes between games answer in ~8 ms instead of recomputing
    everything.
    Read endpoints are memoized against a fingerprint of the
    analytics tables; the tracker's heartbeat doesn't invalidate it, while a
    finished game, a saved note, or an AI archetype landing invalidates it
    immediately (60-second ceiling either way).
  • How: six new indexes (participants by game/role/deck, deck cards by
    participant and zone, opening hands and draws by participant, games by
    match), one set-based draw-quality pass for the overview and All Games
    instead of one query per game, and a cached split-card name lookup for
    exports. Existing databases pick up the indexes at their next launch — a
    one-time build of about 0.3 s.

New

  • Wildcards on the Overview, beside the deck search: common, uncommon,
    rare, and mythic counts read from the inventory block Arena writes to its
    log at launch and on every event join (gold, gems, and vault progress are
    stored too). Nothing shows until the tracker has seen one.
  • Live Scoreboard shows your lifetime record against the opponent's
    commander
    in Brawl, one line per commander, hidden until you've faced it.
  • The menu-bar item is now Live Scoreboard, matching the page.

Fixes

  • Opponent colour pips could stay blank until turn 7. When Arena's card
    database wasn't readable at the moment the tracker built its colour index,
    the index was cached for the session with only cards from earlier games.
    It now keeps retrying Arena's layers until they answer, looks up unknown
    cards on demand, and basic lands light their colour on turn one.
  • The scoreboard's "Looks like…" guess could flip to an impossible
    archetype
    (Gruul → Mono-Red after a Forest). Lands no longer count as
    evidence, and a guess whose colours contradict the table is dropped.
  • All Games flood/screw badges disagreed with the game page for a couple
    dozen games — the list ignored ramped lands and the real land ratio. Both
    now use the same rules.
  • Profile and combat columns were blank for decks past the 40th. The
    Decks table lists up to 100 decks but its combat telemetry stopped at 40,
    so players with many small decks saw dashes on rows with plenty of games.

Docs

  • README, Quick Start, and AGENTS refreshed; the in-game overlay plan
    rewritten for Tauri v2 with the rail/panel design mockup
    (docs/plans/OVERLAY_TRACKER_PLAN.md). The overlay itself ships in a later
    release.