Changelog

Every Heir update — newest first.

Heir v2 is released. Earlier entries are historical release notes. Names, commands, limits, and behavior describe their release; use the current guides and command reference for instructions.

Latest updates

v2.14.0 — Manual match fixes

Manual match fixes

Organizers can void newly recorded matches from the website, and score announcements no longer wait behind unrelated League Discord updates.

  • Match voiding accepts both current and older match IDs.
  • Manual score announcements keep their order in the scores channel while role and membership updates are pending.
  • Manual results link directly to their match page, with a share card showing the final score, Roster colors, and Elo changes.

Deathmatch on League leaderboards

Deathmatch is now available in the game-mode picker, on its own or alongside compatible team-match stats.

  • Rank recorded Deathmatch and duel combat by K/D, kills, deaths, and score without a round requirement. Rankings require 20 recorded kills and deaths in total in the selected window.
  • Mordhau Enhanced Stats also offers Deathmatch damage dealt, damage taken, damage ratio, Parry %, and Chamber % when those measurements are available.
  • Combined views add compatible totals. Standalone combat that may already be counted in a selected team match is left out of combined totals to prevent double counting.
  • Round averages, clutches, Impact, headshot %, and active tracked-match time continue to use team-match data. Deathmatch-only views show the stats the format can support.
  • Match-type filters apply to the team-match part of a combined view. Deathmatch uses daily combat summaries and does not change match results or ratings.

v2.13.0 — Six new League leaderboards and a game mode filter

League leaderboards now cover how players actually perform round to round, and you can narrow any board to the game modes you care about.

  • New boards: kills per round, deaths per round, team damage per round, team damage taken per round, headshot % and time played.
  • Pick one game mode or several at once. Choosing several adds their play together rather than averaging two averages, and a match you played across two modes still counts as one match.
  • Sort any board highest or lowest first, so "fewest deaths per round" reads as plainly as "most kills".
  • Per-round boards count real rounds only — Skirmish and Last Team Standing. Hardpoint and Team Objective have no rounds, so they feed the totals and time-played boards instead of inventing a round count.
  • Time played is the time you were actually in a tracked match. Warmup, spectating and time before tracking started are not counted, and matches recorded before we measured this show nothing rather than a guess.
  • Averages only appear where both halves of the measurement were recorded. A blank value means "not measured", never zero.
  • Team damage taken is not available on Chivalry 1: its server feed has no counter for friendly damage received, so that board is shown as unavailable there instead of showing a made-up number. Chivalry's other new boards work normally.
  • Headshot % is Mordhau only, because Chivalry 1 reports no hit locations.
  • Team damage, team damage taken and headshot % need Enhanced Stats.
  • The Crowns board is an all-time balance, so it deliberately ignores the game mode, time range and sort order.

v2.12.0 — Better Duel and Deathmatch stats on Mordhau profiles

The Duel / Deathmatch section of a Mordhau player profile now leads with the numbers duellists actually compare.

  • See K/D, kills, deaths and score at a glance, plus your K/D for the last 7 complete days next to the 7 days before them.
  • Ultimate Leagues also see damage dealt, damage taken, the ratio between them, and a parry/chamber split shown as percentages instead of raw counts.
  • Percentages and ratios only appear when both halves of the measurement were recorded, so a blank value means "not measured" rather than zero.
  • Team kills and suicides are still shown, now as a short line under the main numbers.

v2.11.1 — League links that start with a number

League vanity URLs that begin with a number open correctly.

  • Open your League and its settings from the dashboard without a missing-page error when your vanity URL starts with a number.

v2.11.0 — Leaderboards that load

League leaderboards now read from totals that Heir keeps up to date as matches are recorded, instead of recomputing a League's whole match history on every visit.

  • Leaderboards for Leagues with long histories load in one step and no longer fail with "please retry" after a busy period.
  • Every window, bucket and moderation action shows the same numbers as before; voiding, restoring or reclassifying a match takes effect without a rebuild.
  • A new ADR board ranks average damage per measured round, on the web leaderboard, in the Discord stats leaderboard command, and in the Discord leaderboard channel (the channel column appears after the League's ratings next update).
  • Round Impact on the leaderboard is refreshed against the League's current model once a day and after an Impact rebuild.

v2.10.0 — Focused rating references

Focused rating references

Rating comparisons use a sample of up to 30 approved, completed matches from the current rating era.

  • Recent competitive League matches are selected first, then scrims, then pugs to fill any remaining places.
  • The comparison sample stays separate from each Player’s performance window and lifetime history.
  • A reference still needs enough eligible Players and observations before it can be used.
  • Existing Leagues adopt the new reference on their next automatic rating update. Previous ratings stay visible until the replacement is ready.

Targeted player-rating updates

Routine match changes can refresh affected Players without rebuilding everyone else.

  • Reference, formula, or eligibility changes still refresh every Player they affect.
  • Players who become ineligible do not retain stale ratings.
  • The manual `/admin rating-rebase` command has been removed. Automatic rating updates continue.

Match scores without rating delays

Completed League results and Discord score announcements no longer wait for player-rating rebuilds.

  • A temporary player-rating failure does not block official match results or their score announcements.
  • Daily player-rating schedules do not delay completed League results.
  • Retries reuse recorded results and their announcements instead of counting the same match again.

v2.9.1 — Reliable Discord setup status

Discord setup now stays in progress until Heir has finished and recorded the roles and channels for your League.

  • Settings and setup checks agree when your Discord is ready.
  • Interrupted Organizer role creation retries safely after Discord verifies that Heir created the role.
  • Setup no longer tells you to create Heir-managed roles yourself.

v2.9.0 — League plans count League members

League plans count League members

Your plan now covers active members of your League on Heir, including Owners, Organizers, and Free Agents. The size of your Discord no longer determines whether Heir can connect.

  • Free includes 100 active League members, Pro includes 1,000, and Ultimate includes 5,000. Enterprise supports larger approved limits.
  • When a League fills up, new joins pause until a place opens or the plan is upgraded. Existing members keep access.
  • Heir no longer leaves a Discord because of its member count.
  • Leagues created on Heir remain available if their Discord bot leaves or is removed, with membership and history preserved. Leagues that were already inactive stay inactive.

Clearer setup and smoother navigation

Choosing a plan and finishing Discord setup are easier to follow.

  • Plan cards show prices and active League member allowances, with a full feature comparison available below.
  • Discord setup puts the fixes that need your attention first, with a role-order guide and direct recovery actions. Completed checks and optional settings stay out of the way.
  • Linking Discord keeps track of setup roles Heir already created. If another bot owns a conflicting role, setup explains the blocker instead of leaving you waiting.
  • Pages now use native scrolling for more reliable navigation and settings updates.
  • Vanity URLs can begin with a number, such as `50s`, as long as they contain a letter and meet the other naming rules.

Duel and Deathmatch totals on player profiles

Mordhau player profiles now show combat observed on that League's game servers separately from competitive match statistics.

  • See kills, deaths, score, team kills, and suicides with the dates Heir observed them.
  • Eligible plans also show available damage, parry, and chamber totals.
  • These totals do not change match records, wins and losses, or Heir Rating.

Player stats appear before a rating

Player profiles show recorded match stats as soon as a player has participated in a tracked game.

  • A player no longer needs to meet the minimum-round rating threshold before seeing their kills, deaths, score, and other recorded totals.
  • Raw totals remain visible when there is not enough round information to calculate a rate.
  • Rating eligibility, provisional status, leaderboard minimums, and enhanced-stat plan access are unchanged.

Command access follows your Heir roles

League slash commands are visible to everyone by default. Heir checks your current role before allowing privileged actions.

  • Organizer commands require the League Owner or an Organizer in Heir. Discord permissions alone do not grant access.
  • Captain actions check your authority over the relevant Team or Roster.
  • Discord setup no longer asks you to grant command access separately.
  • Existing Discord command or channel restrictions may still affect visibility.

v2.8.1 — Smoother Discord setup

Smoother Discord setup

Connecting a League to Discord no longer depends on installation events arriving in a particular order.

  • Fresh role checks use Discord’s current hierarchy, so moving Heir above Organizer is reflected when you refresh.
  • Command access retries while roles and commands finish initializing. Temporary failures retain the installation grant so you can continue without reinstalling the bot.
  • League Owners can grant command access without a separate League membership. Current Organizers retain access; departed Organizers do not.
  • Setup offers Grant command access when fresh Discord authorization is needed.

Simpler save feedback

Save progress stays with the form you are editing.

  • Removed the floating confirmation widget and its separate Operations page.
  • Unconfirmed saves still retain their request, so retrying checks the existing change instead of submitting a duplicate.

v2.8.0 — Clearer scrimmage requests and responses

Clearer scrimmage requests and responses

Identify the matchup and respond to the right date with less clutter.

  • Scrimmage requests name both Teams and show the game and available agenda.
  • The selected date and attendance controls appear before the full series list.
  • Yes and No responses use green and red, with matching attendance counts and badges. Responses are ordered Yes, Maybe, No, then unanswered.
  • Expandable sections have consistent spacing in scrimmage details, requests, and match pages. Opposing Teams stay grouped together in the scrimmage header. The detail page fills the available workspace, with more room for attendance and Captain controls.

Clearer calendars and quicker actions

Find the next event and manage its schedule with fewer steps.

  • The weekly schedule aligns event times with their titles and shows Team colors, event types, and attendance status. Today is gold; other date badges are gray. Unanswered RSVPs have a prominent red action label.
  • Inbox attendance buttons line up, and Open and Join buttons show progress and prevent repeated clicks.
  • Delayed save confirmations share the Save/Discard bar, with a compact status on other pages. In-progress saves in another browser tab no longer trigger a false confirmation warning.
  • Create menus list Event, Team, then League, with a compact Create shortcut beside notifications. League management shortcuts use a cog icon. The Event shortcut opens on the first selection, including from the calendar. Dropdown arrows turn when menus open.
  • Captains can right-click calendar events to move one date, cancel upcoming scrimmages, or remove a full series from both calendars while keeping its history and attendance records. Scrimmage time changes still need the other Captain’s acceptance.
  • Time defaults to 12-hour format. Choose 12-hour or 24-hour time in Settings to apply it across the site, saved for your account on this device.

Fixture attendance in Team calendars

Get a head count for upcoming League and tournament fixtures.

  • Members on the League’s current Roster can answer Yes, Maybe, or No from the calendar.
  • Team members can see their own Roster’s head count. Reserves are excluded, and responses from players who leave the Roster stop counting.
  • Rescheduling or changing a fixture’s participants requires fresh responses.
  • League fixtures use a one-hour calendar block and one-hour overlap checks.
  • Day and week calendars expand to their full height, so the page handles scrolling.
  • Calendar events use blue for scrimmages, gold for League and tournament fixtures, and gray for custom events. Type icons and Team color dots make each event easier to identify. The selected-event preview also shows a matching event-type badge.

See how your League, Team, and Players connect

Try a connected competition preview from the landing page before signing in.

  • Follow the same Cup match through the League bracket, Team calendar, and Player view.
  • Preview a match result to update standings and add the final to the Team calendar. Try an RSVP and see the Team head count change.
  • The larger preview keeps its hover angle when switching views and smoothly adjusts its height. Standings have clearer spacing.
  • Landing content fades in, and the demo arrives with a subtle slide and blur. The demo and closing card respond to your pointer without clipped edges; touch and reduced-motion settings keep the cards still.
  • Example data is clearly labeled; trying the preview does not change any real League.

More reliable Discord membership checks

Timed-out member checks stay cancelled when the Discord connection recovers.

  • An expired check cannot send a late request after its result has already been returned.

Older updates

Current tournament behavior includes expanded competition stages. Those matches have public detail pages and scheduling, but no predictions or in-game match codes; predictions and RCON binding remain available for standard two-sided tournament fixtures. The current tournament workflow, including permissions and recovery, is in Run a tournament.

September 2026

Heir v2 Sep 8

Heir v2 is now available, with independent Teams, League Enrollments, shared Discord Team connections, and updated management tools.

  • Missing bot permissions get an actionable alert. A persistent urgent notice names the affected Discord and missing permissions. Owners/staff receive deduplicated incident DMs when enabled. A dedicated permission-only authorization flow updates the existing installation and verifies the result, without changing League or Team connections. Update bot permissions.
  • Discord shortcuts match V2. /create-team no longer takes a Captain or any other input. Retired Team shortcuts are discoverable by everyone and only return app links. New /heir navigation, /roster seats, and /admin enrollments, /admin eligibility, and /admin roster-roles lead to the authoritative app workflows. Discord command reference.
  • Teams are the source of League Rosters. Create and manage independent Teams in the app, then enroll them in Leagues. Retired direct Roster commands return app/docs guidance. Approved withdrawals archive the League Roster and preserve its Team link and history. Teams and Enrollments.
  • Existing Rosters become Teams. V2 includes automatic conversion of valid unlinked Rosters, preserving their Captain and Members with one-time Team-limit exceptions. Invalid or conflicting records are reported for recovery, not silently assigned an owner. Legacy Roster recovery.
  • Seats explain who can play. Members missing the League's Discord show a gray, non-clickable name and Not eligible. Organizer blocks have a shield badge and specific explanation; League Owners and Organizers can apply or lift them with reasons and an audit trail. Team membership and other Leagues remain unchanged. Seat eligibility.
  • Discord role usage can scale with the League. Choose named roles per Roster or one shared On a Team role. Shared mode includes optional, explicitly reviewed cleanup of old roles. Configure Roster roles.
  • One Discord can host several independent Teams. Use Connect Discord once, then configure the connection. If the Captain controls both sides, no duplicate self-approval is needed. Each Team has separate resources; a Discord cannot host both a League and independent Team connections. Connect a Discord.
  • Tournament participation respects League blocks. Blocked players cannot enter new lineups; existing snapshots and results remain, with lineup repair required before affected starts or score reports. Run a tournament.

Command access before v2

Historical pre-v2 entry; an exact publication day was not recorded. Its Captain-only command visibility is superseded by the Heir v2 command changes above. For current behavior, use Command permissions.

  • Commands work out of the box. Player commands are visible to every member on install; organizer commands show only for your Organizer role and /edit-team / /disband-team for Captains — Heir grants both roles automatically when a league is set up from heir.gg, with a Grant command access button under Manage → Discord for existing servers. Organizer-only tools moved under /admin (/admin tracking, /admin identity, /admin schedule), and /report-match was retired — results come from the web schedule and stat tracking. See Command permissions.

August 2026

Ratings that don't peg at 100 Aug 28

  • The Heir Rating scale is fixed at the top. Leagues were showing several players an identical 100 — the ladder read 100, 100, 97, 94 with no way to tell the top two apart. Ratings now approach 100 without ever reaching it, so the best players in your league stay distinguishable. Mid-table numbers barely move.
  • If you've played enough rounds, you have a rating. The rating reads your recent matches, and it now reaches further back when it needs to — leagues that play short matches could previously leave a qualified player permanently unrated.
  • Two attribute fixes: Objective is now time-on-point per round rather than per game (Hardpoint games were being counted as a single round), and Teamplay uses the matches that actually measured it. Defense's displayed breakdown also uses measured observations while remaining outside the overall rating. Every league re-rates once on this release.

Round Impact rewards winning the round Aug 28

  • Rounds won on score or the timer now pay out. Round Impact priced every kill by how much it swung the round's win probability, but stopped there — so surviving out a round your team banks earned nothing. The remaining win probability now settles to whoever is still standing.
  • Timer clutches pay in full. Win a 1v3 on the clock and the entire swing lands on you — no special case needed, you're the only one left.
  • Defense finally counts. Parrying out a round you couldn't win on kills is now worth Impact, which is the honest reward for play the stats can't otherwise see.

Tournaments, sanded down Aug 28

  • Every scheduled tournament match gets its own page — the same one league fixtures get, with predictions, who's backing whom, and the elo on the line for ranked cups. They also appear on the schedule calendar and can headline the featured match.
  • Schedule any match, any time — including matches whose teams aren't decided yet. Finals night is knowable on day one.
  • Right-click a bracket match for quick actions: set a time, report a result, or open the full editor.
  • Unpublish a bracket that started by mistake. As long as no results are in, a tournament can go back to draft for editing — any open predictions are refunded.
  • Match times now show date and time on the bracket itself, and scheduled tournament matches no longer go missing from the schedule.

Your dashboard Aug 28

  • Signing in lands you on a real dashboard: your next matches, a feed of your recent tracked matches across every league you play in, and your leagues with ratings — all in the same sidebar workspace leagues use.
  • Per-game documentation at docs.heir.gg: Mordhau and Chivalry each have their own page covering identity, modes, what's tracked, and how their ratings work.

Player profiles, rebuilt Aug 27

  • A new player profile: your identity, Heir Rating with best-ever, linked game account, team, and rarest badges in a side panel — with tabbed Overview, Matches, Maps, and Rating history beside it.
  • The skill radar: your attribute ratings — Slaying, Precision, Survival, Impact, Teamplay, Clutch — drawn against the league average, with per-attribute scores and the stats behind each one.
  • Top Stats shows your five strongest attributes with how you compare to the league ("better than ~90% of players").
  • Leagues on the web now live in a proper workspace: a collapsible sidebar with a league switcher (jump between your leagues from anywhere), keyboard shortcut ⌘B, and a wider layout built for stat tables.

Enhanced Stats Aug 27

  • Mordhau leagues now track the full picture: damage dealt and taken, hits and headshot rate, per-weapon and per-hitzone breakdowns, swing types, parries, chambers, and damage-derived assists — powered by the Heir Enhanced Stats server mod.
  • Ratings got smarter for everyone: damage now feeds the Slaying and Survival attributes, kills split Round Impact credit with everyone who dealt the damage (assists finally count), and warmup never pollutes your numbers.
  • Viewing the enhanced breakdowns is an Ultimate feature — the damage, accuracy, and defense panels, enhanced match columns, and exports unlock with the Ultimate plan. Every league's data is recorded regardless, so upgrading reveals your full history.
  • Stats start a fresh era with this release: ratings and leaderboards rebuild from today's matches with the new attribute system. Old matches stay viewable in your history.

Chivalry: Medieval Warfare Aug 26

  • Heir's second fully stat-tracked game. Leagues can now run Chivalry: Medieval Warfare with live in-game tracking for Last Team Standing and Team Objective. LTS provides per-round breakdowns, clutches, and Round Impact; TO records its event-backed rounds and game totals without LTS one-life clutch or Round Impact events.
  • Players link by signing in through Steam on their settings page — no IDs to copy, and ownership is verified.
  • When the ChivAdmin server mutator is installed, it supplies per-player score and team damage; without it, kills and rounds still track while those fields remain unavailable. Server setup takes one config line — the /server add command tells you which.
  • Every league now shows its game — on the league page, your dashboard, and the public directory — and the Mordhau and Chivalry logos front the supported-games lineup on the landing page and league setup.

Checkout, without the detours Aug 26

  • Promo codes: both the league-setup payment step and the billing page accept promotion codes — applied discounts show right on the order summary.
  • Picking a paid plan during setup now opens payment immediately — no extra "continue to payment" click.
  • Deleting a league now removes it from your dashboard instantly instead of lingering for a minute.

Identity lookup Aug 24

  • Find a player's in-game ID by name — organizers can fuzzy-search their league's tracked matches from the web (Manage → Stat tracking) or with /identity search in Discord. Matches show every name that ID has played under, so renames and clan tags can't hide anyone. Available for stat-tracked games; searches only your own league's logs.

Reports Aug 24

  • Export your league's data (Pro and up): a new Reports tab in league management generates fresh CSV or JSON downloads of players (including in-game IDs), teams, standings, match history with rating movement, and tournament placements. Nothing is stored — every download is generated on demand.
  • Organizers can also copy a player's in-game ID straight from the players table's manage menu.

Fixes Aug 17

  • The draft tool's channel picker now shows only the voice channels you can see in Discord — hidden staff channels stay hidden, and so do their occupants.
  • A product changelog (this page) and a draft tool guide joined the docs.

Visual draft tool Aug 17

  • Draft your pick-up games visually (Pro and up). Heir reads who's sitting in your Discord voice channels and builds the player pool for you — pull from multiple channels at once, or start from your whole roster.
  • Pick two captains, flip a coin for first pick, then draft by click or drag-and-drop. Mistakes are easy to undo.
  • Present mode: a fullscreen view of the draft board, built for streaming or screen-sharing the draft night.

Leaderboards, queried your way Aug 17

  • Every stat board can now run in either direction — see the best or the worst at anything.
  • Placement search jumps straight to the spot you're looking for instead of paging through the board.
  • The filter toolbar was restructured so all of this stays one click away.
  • Site polish: a cleaner "Get started" flow with a glowing call-to-action in the navigation.
  • Leagues on Pro can add social links, shown in their own band on the league's home page. Each link can be toggled on or off, and there's a configurable shout-out channel to go with them.
  • Organizers can attach a stream link to any scheduled match — it's surfaced on the site-wide live banner while the match is on.
  • Match pages gained high-fidelity per-game scoreboards plus match totals.
  • Your profile's win-rate gauge now reads your last 30 matches — the same window as your rating — instead of your team's lifetime record.
  • Settings saves apply near-instantly instead of taking many seconds.
  • A Discord health check on the Connection tab shows organizers at a glance whether their server link is healthy.
  • Feature switches are gone: capabilities now follow the plan and League settings instead of a separate feature-toggle layer.
  • Landing page refresh: tournaments promoted to the lead feature, a contact address, and proper legal links in the footer.

Safer commands, friendlier surfaces Aug 13

  • Destructive Discord commands now ask first. Disbanding a team, leaving a team, or voiding a match shows a summary and requires a confirming button click before anything happens — and inputs are more forgiving of typos.
  • The web app got a forgiveness pass of its own: undo toasts, real validation messages, and a warning before you navigate away from unsaved changes.
  • Fixture pages show the full roster of who bet on each side, paginated.
  • Voided matches stay in the match list with a Voided badge instead of disappearing.
  • Player and team profiles now show league rank.
  • "Clear all" dismisses the whole notification list at once.
  • Stability work behind the scenes keeps the bot fast and responsive around the clock.

The v2 platform Aug 11–13

  • Web-native leagues. Create and run a league entirely on heir.gg — no Discord server required. Every league now starts from one onboarding flow, and you can connect Discord later from Settings if you want it.
  • Tournaments. A full tournament system: a creation wizard, self-serve team sign-ups (members can enter their own team), one-click auto-fill and seeding, custom bracket sizes, and predictions on tournament matches. Brackets render on a pannable, zoomable canvas with a minimap, fullscreen mode, glowing winners, and a flattened match list underneath. Free leagues run cups, Pro runs every format, and Ultimate brackets reach 64 teams. Tournament-only servers are supported too — brackets without the league machinery.
  • Any game. Pick "Other" as your game and run a league for anything — you lose only automatic stat tracking.
  • My Team. Captains get a real home page: edit the roster and colors, with an add-player picker that grays out players already on a team. Captains can also found a team from the web.
  • Two-color gradient team colors, chosen with a proper color picker — pin, hue slider, live preview.
  • A real schedule editor. Drag teams into slots to make matches, edit the live week in place, and plan any of the next eight weeks with the week navigator. Leagues set their own slot times and time zones — or opt out of match nights entirely. Publishes, edits, and cancellations announce to Discord and DM the captains involved.
  • Organizer tools in the tables. Manage players, teams, and tracked matches right from the directory tables — row actions, right-click menus, and multi-select. Tracked matches can be merged, reclassified, and moderated from the web.
  • Role changes sync both ways between the web and Discord, and leagues choose who's allowed to create teams.
  • A new look throughout: gold accent, the Heir crown wordmark, sidebar navigation, and a persistent next-match banner on every league page.

Predictions, Crowns, and a deeper site Aug 10

  • Crowns, a per-league currency: earn them by playing and through a daily claim (/crowns in Discord), then wager them on scheduled matches from a betting slip on the fixture page. Live odds, a countdown hero on match pages, and settlement announcements when results land.
  • A notifications bell on the web: schedule publishes, match reminders, and prediction settlements.
  • A public league directory at heir.gg/leagues with search and filters.
  • A dedicated Leaderboards tab — podium plus focused list, one stat at a time — with a 50-round eligibility floor (adjustable per league) so provisional players don't distort the boards. Calendar range pickers and longer date windows arrive with paid plans.
  • The schedule gained a calendar view spanning schedule history, matches show LIVE badges while in progress, and match pages have short shareable links.
  • Every league setting is editable on the web, and tracked game servers can be added, tested, and monitored from the web — including each server's last connection and latency.
  • Smarter match detection. Tracked matches are now classified from full final rosters, back-to-back games split automatically, and brief scoreboard glitches can no longer flip a match's type. Player win/loss records also accrue correctly from this point on.

Plans and billing Aug 7

  • Paid plans launched: a pricing page with a yearly toggle, subscriptions with an embedded checkout in Heir's own dark theme, a billing page for league owners, and Discord notifications for every billing event.
  • Plan limits took effect — tracked servers, team counts, regions, leaderboard depth, and how far back history browsing reaches now vary by plan.
  • Terms of service and privacy policy published.

Round Impact Aug 6–7

  • Round Impact is a new stat that measures how much each player's actions swing their team's chance of winning a round — not just raw score. It appears in /stats, on web profiles and match pages, and on its own leaderboard, ranked by per-round average.
  • Round Impact was folded into Heir Rating, replacing plain score-per-round, and 1v1 duel rounds are excluded so clutch endings don't skew it.

Self-serve Heir Aug 6

  • Sign in with Discord on heir.gg and set up your own league: guided onboarding checks that Heir can see your full member list, and web dashboards manage the league from day one.
  • Vanity URLs — your league lives at heir.gg/yourname.

ETHR becomes Heir Aug 5

  • New name, new crown: the platform rebranded from ETHR to Heir, at heir.gg.
  • Tier list maker: build drag-and-drop tier lists from your league's players or teams, with animated reordering, PNG export, and rich link previews.
  • Match pages grew up: a competitive scoreboard hero, a top-performers panel, full table sorting, and link unfurls that show the score.
  • Refs can bind a live stat session to a scheduled match with a short in-game code.

Stat tracking and the website launch Aug 3–4

  • Live stat tracking. Heir connects directly to your game servers and records every round as it happens — kills, objective time, team sides, and 1vX clutch detection.
  • In-game ref controls: refs run the tracker from game chat with .start, .stop, .void, and .status.
  • Automatic results: best-of-5 series record the league result on their own, with the series format configurable per league.
  • /stats in Discord, plus persistent stat leaderboard channels that keep a board per stat category up to date.
  • Heir Rating: a 0–100 player rating built from tracked play, weighing recency and opponent strength.
  • heir.gg went live: player, team, and league profiles with letter tiers, badges with league-wide rarity, rating history charts, hover mini-profiles, quick search, and shareable preview cards.
  • Legacy league history was imported, so past teams and seasons show on player profiles.

July 2026

Fixes & polish late July

  • Teams can upload a role icon shown next to their name in Discord, with icon-change announcements.
  • /achievements shows a top-10 achievements leaderboard, and two new achievements landed for the teams at the top and bottom of the standings.
  • Command access moved to Discord's own permission system — each server controls who can run what from its Integrations settings.

Game account linking Jul 29

  • Link your in-game and Steam accounts to your player profile — the foundation the stat tracker builds on.

Weekly scheduling Jul 28

  • Schedules became living documents. Organizers draft a week, regenerate or hand-edit it, then publish; published weeks track results and can be edited live.
  • Captains get a DM when the schedule goes out and reminders before their matches.
  • Vacation mode: teams can step away for a week without being scheduled, and sit visibly under "Unscheduled Teams".
  • Optional mirror channel so organizers can run schedule controls away from the public channel.

The V4 overhaul Jul 27

  • Match history for every team — including disbanded ones — plus public match predictions in the channel.
  • Seasons: soft rating resets, end-of-season placements archived on each team.
  • Achievements and badges, persistent across seasons, with ten new achievement types.
  • Leaderboard movement arrows show who climbed and who slid each week.
  • The rating system was overhauled to reward margin of victory, with a full test suite behind it.
  • Gradient team colors, public player cards, an organizer audit log, and a long list of reliability and security fixes across the whole bot.