What's New
Updates and improvements to Armchair GM.
Enjoying Armchair GM? It's free and built by one person — you can buy me a coffee ☕ to support development.
fix
Apron Rules Apply to the Right Season
- • Prior-season exception signings no longer carry a hard cap into the current season
- • Current-season sign-and-trades continue to apply the first-apron hard cap throughout a scenario
- • Teams above the first apron now see only the taxpayer Mid-Level Exception amount and its second-apron ceiling, while teams above the second apron cannot use the exception
fix
July Trade Exceptions Added
- • Added 18 trade exceptions created during July free agency that were missing from team cap sheets, including Charlotte's $40.8M from the LaMelo Ball trade and the Clippers' $17.0M from the John Collins deal
- • Corrected the remaining balances on four exceptions that had been partially used, so Atlanta and Dallas no longer show more trade capacity than they actually have
- • Trade validation now recognizes these exceptions, so deals that legitimately fit inside them stop being flagged as over the salary-matching limit
fix
Roster Action Menus Read Vertically Again
- • Fixed the contract action menu on cap sheets — choices like Sign to Contract, Sign & Trade, and Renounce Bird Rights were laid out side by side and spilling out of the menu instead of stacking in a list
- • Menu choices now use the standard interface font rather than inheriting the salary column's monospaced numbers
- • Action menus opened on the last rows of a cap sheet are no longer cut off at the bottom of the table — they now open upward when there isn't room below
improvement
Player Research and Roster Building Are Clearer
- • Advanced-stat histories are easier to scan across seasons
- • Comparable-player browsing now more clearly describes the available player pool
- • Asking-price controls are easier to read and stay synchronized as values change
- • Real cap sheets now clearly explain how to create a custom scenario for trades, signings, and roster edits
- • Editable scenarios now put free-agent signing beside trade creation for faster roster building
improvement
Player Data and Decision Tools Improved
- • Player performance pages now show actual EPM ratings and populated games-started totals
- • Team cap sheets now open contract comparisons directly, with the player's current salary, cap hit, years remaining, annual value, and options kept in context
- • Available, selected, and unavailable signing choices are now easier to distinguish on phones in both light and dark themes
- • Jett Howard now appears on Dallas with his two-way deal, and Shai Gilgeous-Alexander's Oklahoma City extension now shows the correct seasons, values, and player option
improvement
Reconnection Notices Are Quieter
- • Brief connection blips no longer cover the top of the app with a warning — a small reconnecting indicator appears only when an interruption lasts more than a few seconds
- • Longer outages still clearly explain that changes are paused, and the notice disappears immediately when the connection returns
fix
Cap Sheet Exception Usage Stays With the Right Team
- • Cap sheets now keep exception usage, hard-cap status, and Bi-Annual Exception availability with the team that used the exception, even after the player is traded or waived
fix
Free Agents Page Now Shows Every Unsigned Player
- • The Free Agents page now lists players even after their team renounces or waives them — previously a player only appeared while a team still carried his cap hold, so a renounced star could vanish from the list entirely
- • A free agent with no team holding his rights now shows a dash in the Team column instead of a broken team link
- • Waived and renounced players are back in the player browser's All Players and Free Agents tabs — searching for one no longer comes up empty
- • Contract comparisons now skip players who have no salary to compare, so the closest-comps list is built from real contracts only
improvement
Dort–Risacher Three-Team Trade Recorded
- • The July 19 trade between the Hawks, Mavericks, and Thunder is on the books: Lu Dort and Ryan Nembhard join Atlanta, Zaccharie Risacher heads to Dallas, and Oklahoma City collects three future second-round assets
- • Oklahoma City's incoming pieces show correctly on their picks page: Atlanta's most-favorable outcomes in the 2031 and 2032 second-round swaps, plus Chicago's 2027 second via Dallas
- • Bird rights and team tenure carry over correctly for all three traded players
fix
Grizzlies, Pelicans & Thunder Data Corrections
- • Eleven second-round picks across Memphis, New Orleans, and Oklahoma City now sit with their true owners — including Memphis's incoming seconds from the Lakers, Washington, and Oklahoma City, and the Thunder's incoming seconds from Atlanta, Minnesota, and Detroit
- • The conveying 21-30 range of Golden State's 2030 first now correctly routes to Memphis instead of stopping at Washington
- • Added Mamadi Diakite's dead money to Memphis's books
- • Two-way contracts league-wide no longer count their full salary against the cap — a recent data-entry push had them carrying a ~$679k cap hit each; all 51 now correctly show $0
fix
Trade Builder Fixes
- • Pick swaps can no longer be added to a trade more than once — clicking a swap you've already included now removes it, just like players and regular picks
- • The X button and destination picker in the trade summary now work on pick swaps — previously they silently did nothing for swap rights
- • The team asset picker now covers the full screen and stays in place on large displays instead of leaving part of the page uncovered and scrollable
design
Player Photos on the Cap Sheet
- • Rostered players now show their headshot on the cap sheet, matching how dead money, off-roster, and two-way rows already appeared
fix
Player Page No Longer Errors on Bad Links
- • Opening a player link with a missing or invalid ID now takes you back to the players list with a short notice, instead of showing an error page
fix
Roster & Position Corrections
- • Minnesota is no longer shown hard-capped at the first apron for a Non-Taxpayer Mid-Level exception it never used — as a second-apron team the Timberwolves can't use that exception
- • Added Trevon Brazile to the Denver Nuggets on his signed four-year rookie contract
- • Fixed listed positions: Cedric Coward (Memphis) and Pelle Larsson (Miami) are now shooting guards instead of point guards, and Marvin Bagley III is now listed at power forward instead of small forward
fix
Scenario Trade Builder Fixes
- • Renouncing a cap hold, waiving a player, or declining an option inside a trade now immediately re-checks whether the trade is legal — you no longer have to toggle the cap-holds switch to force the numbers to update
- • Fixed a crash that could occur when building a trade that generates a trade exception in a custom scenario
fix
Navigation Menu No Longer Cut Off
- • Fixed the top "Cap Sheets" team menu getting cut off at the bottom when the page was short — for example right after searching narrowed the player list to a couple of rows
fix
Lakers & Heat Data Corrections
- • The Lakers' picks now reflect the Walker Kessler sign-and-trade: the 2031 and 2033 firsts belong to Utah, the 2028 first joined the Utah/Cleveland/Atlanta favorability ladder, Utah holds swap rights on the 2030 first, and the two incoming Washington seconds appear on the Lakers
- • Miami's picks now reflect their Milwaukee trade: the 2031 and 2033 firsts and 2033 second belong to the Bucks, the 2030 first joined the Portland/Milwaukee ladder as least favorable, and the 2027 first shows its real 1-14 protection with the 15-30 range conveying to Charlotte
- • Added missing dead money: Jonas Valanciunas ($2M, Denver), Cam Thomas ($844,607, Milwaukee), and DeMar DeRozan ($10M, Sacramento)
design
Cap Sheet Redesigned for Phones
- • On phones the cap sheet now shows one season at a time with a season picker at the top, so salaries and totals are readable instead of squeezed across many columns
- • Tap a season to switch which year's figures you're viewing; on larger screens the full multi-year table still shows every season at once
- • Salary figures no longer break across two lines on small screens — each value stays intact
fix
Clippers Data Corrections & Rui Hachimura Signing
- • The Clippers' first-round picks are corrected across the board: the 2029, 2030, and 2031 firsts are back where they belong (including removing a swap that never existed on the 2030), and the complex 2027 four-team ladder with Oklahoma City, Denver, and Toronto is now fully modeled
- • The four Toronto picks and the Dallas second from the Clippers' trades now appear on their cap sheet
- • Rui Hachimura's two-year, $28M Clippers signing is recorded — he's on their books and his Lakers cap hold is gone
fix
Houston & Orlando Data Corrections
- • Removed five second-round picks that no longer belong to Houston (they now show on Charlotte, Memphis, Brooklyn, and Washington per their real trades)
- • Corrected Paolo Banchero's contract to the exact year-by-year figures of his maximum rookie extension
- • Recorded Orlando's July moves: Jonathan Isaac's waive-and-re-sign (with his $8M dead money), Nikola Vucevic's minimum signing, and two-way players Alex Morales and Colin Castleton
- • Jett Howard's declined option, Jevon Carter's guaranteed 2026-27 salary, and Noah Penda's non-guaranteed 2027-28 now all match the official records
- • Orlando's 2029 first-round swap with Memphis is now modeled with its top-2 protection and the fallback second-rounder, and the New Orleans second-round swaps for 2030 and 2031 are recorded
fix
Pick Protection Controls Fixed
- • Fixed an error that could break the page when switching a pick's protection type in the trade builder while editing the Top-N number
improvement
Better Tools for Community Data Editors
- • Trusted data editors can now record real trades, signings, and waivers directly, so roster mix-ups get fixed faster — every change is logged and reversible
- • Editors can attach a brand-new contract to an existing player (re-signings and extensions) instead of stretching the old deal, keeping derived data like Bird rights accurate
- • A new move tool corrects a player who's simply on the wrong team in one step, and an editor guide documents the right tool for each situation
feature
Track Traded-Away Picks & Richer Transaction Recaps
- • The Assets tab can now show where your team's own picks went after being traded away — flip the new toggle to see the current holder of each outgoing pick
- • The scenario Transactions tab now shows each traded player's salary, which team every player, pick, and cash payment came from or went to, so multi-team deals read unambiguously
fix
Scenario Fixes: Depth Chart & Free Agent List
- • Pressing Enter after typing a player name on a depth-chart draft pick no longer kicks you out to the payroll tab
- • Players whose rights you renounce in a scenario now appear in the free agent list, so you can re-sign them with an exception
- • Players under contract no longer occasionally show up in free-agent search results
fix
Comparable Contracts Fixes
- • Fixed the comparable contracts list showing the same player three or four times, with some copies incorrectly marked as signable free agents
- • Opening comparable contracts for a player who was removed in a data update now shows a friendly notice instead of an error
feature
Trade Exceptions Can Now Be Used in Trades
- • The trade machine now uses a team's existing trade exception to absorb an incoming player when a deal can't be matched by salary alone — previously exceptions were only created, never spent
- • Trades that rely on a trade exception show exactly which exception is used, on which player, and how much of it remains, and warn that using it hard-caps the team at the first apron
- • You can turn off automatic exception usage per team when you'd rather preserve it for a bigger move, and a note shows when a team's exception is available but not needed
- • Teams above the second apron are blocked from using held exceptions, matching league rules
fix
Roster Data Corrections
- • Spencer Jones (Denver) now correctly shows Early Bird rights — his 2025-26 re-signing was being treated as a fresh start instead of a continuation of his two-year Nuggets tenure
- • Added Kobe Sanders to the Clippers, including his converted standard contract and the four-year deal he signed on June 30
fix
Fixed Wildly Inflated Advanced Stats for Big Men
- • Box Plus/Minus no longer shows impossible values (like +400) for rebound-heavy centers — the formula now rates players against the possessions they actually played, centered on the league average
- • VORP is recalculated on the corrected scale for every season, so player value comparisons across positions are meaningful again
fix
Cap Sheet Shows Cap Hits, Not Cash Salaries
- • Season columns on the payroll table now display each player's cap hit (base salary plus likely incentives) instead of their cash salary, matching what the hover tooltip already showed
- • Team season totals now sum cap hits too, so teams with incentive-laden contracts no longer look further under the cap than they really are
improvement
Multi-Year Pick Protections Are Now Tracked
- • Protections that carry an obligation into a later draft — like Denver's top-5-protected first that retries in 2028 and 2029 if it doesn't convey to Oklahoma City — are now linked year-to-year instead of living only in a text note
- • Protections that convert to a second-rounder (Philadelphia's 2028 first, Minnesota's 2029 first) now point at the exact pick they become, laying the groundwork for accurate trade-rule enforcement
feature
Two-Way Contracts Get Their Own Section
- • Two-way players now appear in a dedicated section at the bottom of the payroll table, showing their contract years and salaries — previously they didn't appear on the cap sheet at all
- • The section makes clear that two-way deals don't count against the salary cap or occupy one of the 15 standard roster spots (teams get up to 3 two-way slots)
fix
Browsing a Hard-Capped Team No Longer Locks the Page
- • Viewing a team whose real payroll sits above a triggered hard cap (like Sacramento) now shows a calm informational note instead of a red "CBA Violation" wall that greyed out the whole page and made picks and assets unclickable
- • The blocking treatment still applies where it belongs: inside your own scenarios, where you can actually fix the violating move
improvement
Pick Swaps Track the Exact Protected Slice
- • Pick swap pools now record exactly which portion of a protected pick is involved — e.g. Utah's swap over Minnesota's 2029 first covers only positions 6-30, since Minnesota keeps the pick if it lands top-5
- • Swap descriptions show the protected range next to the team, like "most favorable of MIN (6-30)/CLE/UTA 2029 1st", so it's clear when a pool member is only a slice of a pick
fix
Protected Pick Slices No Longer Disappear
- • Teams that kept a protected portion of a pick whose other side is part of a pick swap now see that slice on their Draft Picks panel — previously the pick vanished entirely (Minnesota's top-5-protected 2029 first and Philadelphia's top-8-protected 2028 first were affected)
feature
Clearer Full Contract History
- • Player contract views now show each deal in a player's career as its own contract — rookie scale, extensions, and free-agent signings are separated instead of merged into one long block
- • Every contract shows the team it was signed with, the signing mechanism (Bird rights, mid-level exception, cap space), and a plain-English description of the deal's terms
- • Contract notes like guarantee dates and option deadlines now appear under each deal
- • Bird rights stay accurate across the new history: extensions and Bird-rights re-signs count toward the same continuous tenure
feature
Evaluate Trades for a Specific Point in the Season
- • Added an "Evaluate as of" control to the trade builder and scenario builder so you can check whether a deal would be legal at a specific moment — now, the trade deadline, draft night, the offseason, or a custom date
- • Draft-night evaluation correctly frees up this year's first-round pick, so trades you'd make during the draft are no longer flagged as future-pick (Stepien) violations
- • Added a "Suspend player trade restrictions" toggle to build deals that only become legal later, such as a recently-signed free agent who can't be moved until December 15
- • Trades evaluated during the post-deadline freeze now note that they couldn't be executed until player movement resumes around the draft
- • Shared trade links now remember the evaluation period they were built under, so the recipient sees the same result
- • Players who recently signed a veteran extension are now correctly locked from trades for six months from the signing date
fix
2026 Draft Class and Accurate Bird Rights
- • Added the entire 2026 first round — all 30 picks now appear on their new teams with their official rookie-scale contracts, reflecting every draft-night trade
- • 2026 draft picks no longer show up as tradeable assets — they've been used on draft night, so cap sheets and the trade builder now start at 2027
- • Added the thirteen second-round picks who have signed so far: four on standard multi-year deals with their real salary and guarantee structures, and nine on two-way contracts
- • Bird rights now reflect each player's actual tenure with his current team: contract histories that were previously lumped into one long deal have been separated into the real signings, correcting the Bird-rights status of over 80 players
- • Players whose Bird rights were overstated (shown as full Bird after bouncing between teams) now correctly show Early Bird or Non-Bird status, which changes what their teams can offer in re-signing scenarios
fix
Data Accuracy Wave 1 — Community QA Fixes
- • Corrected draft-pick ownership, protections, and swap structures for 18 teams audited by community reviewers Icehawk63, AVC, Queue, Tobo, archecausality, Arr0wmanc3r, and alessio — including the complex Phoenix, Utah, Brooklyn, Denver, and Detroit pick situations
- • Added missing free agents and their cap holds across Boston, Charlotte, Denver, Detroit, Phoenix, Portland, San Antonio, Toronto, and Washington
- • Fixed Bird-rights classifications for ten players so re-signing rules reflect their real tenure
- • Corrected contract details flagged by reviewers, including Derrick White's salary schedule and several non-guaranteed 2026-27 deals
- • Updated the 2026 first-round rookie pay scale to the official amounts for all 30 picks
- • Free-agent cap holds from past seasons now show their amount in the current season column instead of appearing blank
fix
Naming a Draft Pick on Mobile
- • Tapping a draft pick you've added to a scenario's payroll to give it a player name now works on phones — before, the tap was accidentally opening the player's stat panel and refreshing the row instead of letting you type
design
Mobile and Readability Polish
- • The "Cap Sheets" team menu now scrolls when it's taller than your screen, so the full list of teams is always reachable instead of being cut off at the bottom
- • Team Salary and the team name now stay readable in both light and dark mode for every team — dark-colored teams like the Hornets are no longer nearly invisible against the background
- • Pop-up notifications now fade away on their own after a few seconds (pausing if you hover over them), so you don't have to dismiss each one by hand
- • On phones, the Assets and Thresholds tables now scroll sideways instead of hiding their right-hand columns
fix
Stability Fixes Across Trades and the Cap Sheet
- • Closing a team's panel in a multi-team trade now works everywhere — the X button on the slide-out panel no longer just draws a grey box and leaves the panel stuck open, which was especially frustrating on phones
- • Setting up a protected draft pick in a trade no longer triggers a client-side error when you type in the protection threshold or pick a conveyance option
- • Re-signing a player no longer risks an error if the confirm button is tapped twice in quick succession
- • The homepage no longer fails to load for people whose browser blocks site storage (some private-browsing and locked-down setups)
fix
Fixed Splitting Contracts for Exception Signings
- • Splitting a lumped contract now works for players signed using an exception (mid-level, bi-annual, etc.) instead of silently failing with a "Could not split the contract" message
improvement
More Seasons of Player Stats
- • Player stats now go back further — up to the 2016-17 season — so veterans show their full recent history instead of cutting off around 2021
fix
Fixed Errors When Searching and Switching Seasons in Scenarios
- • Searching for a player to add to a scenario no longer triggers a client-side error as you type
- • Switching the cap-year season from the mobile dropdown inside a scenario now works without throwing an error
fix
Player Popup Tabs Now Switch Correctly
- • Clicking the Advanced or Contract tabs in the comparable-contracts player popup now switches the view as expected, instead of doing nothing
design
Roomier Multi-Team Trade Layout
- • The team panel that slides out in a 3+ team trade now uses the full height of the screen, so long rosters and pick lists are no longer cut off inside a short scroll box
- • Removed the empty dead space that appeared below the trade machine, so the page no longer scrolls past the content for no reason
fix
Swap Picks Sort Chronologically and Show Their Details
- • Pick swaps now appear in chronological order alongside your other draft picks on the cap sheet and trade screens, instead of being stranded at the bottom of the list
- • Opening a swap pick now shows its full details — the pool of picks it draws from and whether you hold the more or less favorable selection — instead of an empty popup
- • Edits made to a team's draft picks in the editor now appear on open cap sheets right away, without needing to reload the page
fix
Bird Rights Now Reflect a Player's Full Contract History
- • A player's Bird rights — which set how large his free-agent cap hold is — are now read directly from his contract history instead of a separately stored value that could drift out of date
- • This corrects players who were carrying the wrong Bird status (for example a long-tenured player traded between teams showing as Non-Bird), so their projected cap holds use the right multiplier
- • Any remaining inaccuracy now traces to a gap in a player's contract history, which can be fixed by backfilling his missing seasons
fix
Signing Modal Cap Space Now Matches the Cap Sheet
- • The Cap Space shown when signing a free agent now accounts for cap holds and empty-roster-spot charges, so it matches the Cap Space line on your payroll instead of overstating your room
- • It also credits back the minimum charge for the roster spot the new player fills, so the figure reflects exactly how much you can actually offer
feature
Add a Whole Draft Year at Once
- • Admins can now generate a full year of draft picks — a 1st and 2nd rounder for all 30 teams — from the backstage editor with one click, so newly tradeable years (like 2032) are available right away
- • Every generated pick starts owned by its original team; trades, swaps, and protections are layered on afterward in the editor, and re-running never creates duplicates
fix
Chained Scenario Trades Are Accurate Again
- • Trading away a player you acquired earlier in the same scenario now correctly frees the roster spot, instead of leaving a phantom extra line on your payroll
- • Re-routing that player on to a third team now shows their salary on the third team's roster, instead of listing them with a blank cap figure
- • Fixed a crash when configuring a pick swap against a team that holds a pick it acquired earlier in the scenario
fix
Non-Guaranteed Contracts in Trades
- • When you trade a player whose salary isn't fully guaranteed, the deal now defaults to guaranteeing the contract so it counts at full salary, with a one-click option to instead trade it non-guaranteed
- • Trading a contract non-guaranteed now correctly counts only the guaranteed portion as your outgoing salary, while the team acquiring the player still takes on the full salary — the real CBA rule that makes those deals hard to match
fix
More Accurate Free-Agent Cap Holds
- • Cap holds for players declining an option are now based on the salary they actually earned the prior season, instead of the option amount they turned down
- • The 150% vs. 190% cap-hold tier is now measured against that prior season's league-average salary, so players who earned above the average (like Austin Reaves) correctly get the lower 150% hold
fix
Squashed a Couple of Crashes
- • Fixed a crash in the trade summary that could reset the deal in certain multi-team scenarios
- • Saving your account handle no longer errors out when the handle field is left blank — it now shows a clear validation message instead
fix
Pick Swaps in Trades Are Solid Again
- • Fixed a crash that reset the whole trade when a pick swap (like the Hawks/Bucks 2027 swap) was added to a multi-team deal
- • A swap pick can no longer be added to the same trade more than once
- • Fixed a crash on a team's Assets tab when it held a pick swap
- • Fixed a crash when setting up a pick swap if the other team already held a pick swap of its own
feature
Real Depth Charts on Team Pages
- • Each team's cap sheet now shows its actual depth chart, matched to our players, so you can see the projected starting lineup and rotation at a glance
- • Create a scenario whenever you want to rearrange the depth chart or pencil in your own signings, trades, and draft picks
- • Trusted data editors can fix a team's depth chart directly on its page — an "Edit depth chart" button makes it editable, and hand-edited charts are preserved during data refreshes
feature
Start a Scenario Right from the Home Page
- • The home page now has a "Start a scenario" button — pick any team and jump straight into a fresh cap-sheet scenario, skipping the trip to the team page and the plus button
improvement
Smoother Scenario Editing
- • Deleting a scenario now asks for confirmation first, so an accidental click won't wipe out your work
- • An expanded player card now has a clear "Close" button to collapse it back into the roster list
fix
Correct Bird Rights When Re-Signing Veterans
- • Re-signing rights (Non-Bird, Early Bird, Full Bird) are now based on how many years a player has been with their team, fixing dozens of veterans who were incorrectly shown as Non-Bird and so were missing their Early or Full Bird signing options
- • This also corrects the cap holds those players carry as free agents
improvement
Traded Picks Show Which Team They Came From
- • Draft picks in the trade machine now show their original team — for example a 2027 first the Hornets acquired from Dallas reads "2027 1st (DAL)" instead of just "2027 1st", so it's clear whose pick is moving
fix
Fewer Hiccups on the Scenario Page
- • Hardened the scenario page so a browser with restricted or corrupted local storage no longer trips up loading your saved scenarios
feature
Multi-Team Pick Swaps Are Modeled Properly
- • Complex swap chains across three or more teams are now represented faithfully — for example the Pelicans/Bucks pick where Atlanta takes the more favorable, Milwaukee the less favorable, and New Orleans keeps neither
- • Each team only sees the swap outcome it actually controls (the right to the most/least favorable pick in a pool), and can trade that right onward
- • Trusted data editors can build these swap groups by hand in the admin tools — choose the pool of picks and assign each favorability rank to a team
feature
Add Cash to Trades in the Public Trade Machine
- • The public trade machine now has the same "Add cash" option the scenario tools have — a team can send cash so the other side can take on salary it couldn't otherwise match
- • Cash now shows in the trade summary and is kept when you save or share a trade
feature
Pick Swaps Show Who Picks and How
- • When you make a pick a swap, you now choose exactly which of the other team's first-round picks it pairs with and whether the team receiving the swap takes the more or less favorable of the two — both the trade machine and the scenario tools
- • Once a swap is added, the paired pick is locked on the other team's side so it can't be traded twice by mistake
- • Swap details now save and reload with a shared trade instead of being lost
feature
Protected Picks Show Up for Both Teams
- • A team that traded away a protected pick can now trade the protected portion it kept — for example, the Warriors can offer the top-20 protected part of their 2030 first-round pick while the Wizards still hold the part that conveys if it lands 21st through 30th
- • Protected picks now appear as separate, tradeable assets for each team that controls a piece of them, with the protected range shown right on the pick — on a team's Assets tab and throughout the trade and scenario tools
- • Data editors can split a pick into its protected parts (and reassign or recombine them) directly in the admin pick editor, so protected picks can be kept accurate without a code change
feature
Waived & Voided Contracts
- • Players who are waived can now be taken off their team — their non-guaranteed years come off the books, any remaining guaranteed money shows up as dead cap, and they become a free agent who no longer takes up a roster spot
- • Fixed Bobi Klintman, who was still showing on the Pistons after being waived: his guaranteed 2025-26 money is now Pistons dead cap, his later years are voided, and he's a free agent
- • Added Tolu Smith to the Pistons on his new two-year deal, with a non-guaranteed club-option year in 2026-27
design
Stats and Contracts Live on One Players Page
- • Player stats and player contracts now live on a single Players page with a Stats/Contracts toggle (Stats by default), so you can flip between a player's production and their pay without leaving the page
- • Old Stats and Player Contracts links still work — they send you to the new page
improvement
Editors Can Correct Draft Picks
- • Trusted data editors can now fix draft-pick details — ownership, swaps, protections, and conveyance — right from a team's Assets tab, so traded and protected picks stay accurate across the app
improvement
One-Click Data Imports per Player
- • Data editors can now refresh a single player's info, draft-combine measurements, stats, or contract on demand — each from its own button on the player's edit screen and profile page — so fixing one player's data no longer means waiting on a site-wide sync
feature
Cancel Your Own Reports
- • Filed something by mistake? You can now cancel a report you submitted — open it from the Roadmap and use "Cancel this report" — as long as it hasn't been picked up yet
fix
Scenario Trade Builder Fixes
- • Fixed a crash that could throw an "Oops, something went wrong" error and reload the page when building three-or-more-team trades in a scenario, particularly while routing a player to another team
- • Players you re-signed within a scenario now show their new contract amount in the trade builder instead of $0
- • Trading a player you just re-signed is now correctly treated as a sign-and-trade: they're flagged as a sign-and-trade and the sending team's outgoing salary counts as half (Base Year Compensation), matching how an in-trade sign-and-trade already works
feature
Trusted Contributors Can Help Keep Data Accurate
- • Added a Data Editor role so trusted contributors can correct player, contract, and stat data without needing full admin access
- • Roles can be assigned from the admin area, and every data edit is now recorded so changes can be traced back to who made them
fix
Draft Pick Ownership Fixes
- • Added Atlanta's 2027 first-round pick coming from the New Orleans / Milwaukee swap (the less favorable of the two, top-4 protected)
- • Added Sacramento and San Antonio's 2031 first-round pick swap rights
- • Corrected San Antonio's 2027 first-round pick, which is conveyed to Oklahoma City or Sacramento depending on where it lands
- • Corrected the Lakers' 2027 first-round pick to show it going to Utah, and Phoenix's 2027 first-round pick to show it going to Houston
fix
Steadier Connection Handling
- • Fixed a bug where certain interactions on a cap-sheet scenario — for example after adding or canceling a trade — could blank out your roster or make a player you traded for vanish until you reloaded the page; the scenario now stays put
- • If your connection drops or the app is updating, a brief "Reconnecting…" banner now appears and buttons pause until you're back online, instead of clicks silently failing or causing an error
improvement
Search Every Player on Stats & Contracts
- • The Stats and Player Contracts pages now list every player in the database, not just those with stats or a contract for the selected season — so you can search for anyone and see whether they're already in the system
- • Cells with no data for the chosen season simply show a dash
fix
Grammar Fix in Trade Messages
- • Trade validation messages now use plural verbs for team names — e.g. "The Chicago Bulls are under the salary cap" instead of "is"
design
Signing Salary Fits Better
- • The Year 1 Salary box in the signing dialog is now wider, so a full salary with commas no longer gets cut off
fix
Roster Moves Stay in the Current Season
- • Draft picks can now only add a projected rookie for the upcoming draft — picks for later drafts can no longer be used to fill roster spots or payroll in future years, keeping a scenario focused on the current season
- • A draft pick you've already used to add a player no longer shows up as available to trade away
improvement
Faster Fixes for Missing Players
- • Players who were missing from cap sheets — often two-way and end-of-bench guys — can now be added complete with their bio, measurements, stats, and contract in one step, so rosters fill in faster and stay accurate
feature
Player Pages
- • Every player now has a dedicated page that puts their whole profile on one screen — team-colored header, bio, draft-combine measurements, contract breakdown, and full season-by-season per-game and advanced stats
- • Click a player's name on the Stats or Player Contracts pages — or in a trade summary — to open their page (trade summaries open it in a new tab so you don't lose your work)
fix
Smoother Roadmap Card Moves
- • Fixed a flicker where moving a roadmap card to another column — or confirming a fix as completed — could briefly snap it back to its old spot before settling
- • Roadmap changes now stay put instantly for everyone viewing the board, instead of momentarily reappearing in the previous column
improvement
Tidier Roadmap Completed Column
- • The roadmap's Completed column now shows only work finished in the last 72 hours, so it stays a current "what just shipped" view instead of an ever-growing list
feature
Transactions Tab for Scenarios
- • Custom scenarios now have a Transactions tab that recaps everything you've done — trades, signings, re-signings, drafted picks, buyouts, waivers, renouncements, renegotiations, and option decisions — grouped into one clean view with prominent player headshots
- • Handy for reviewing or presenting a finished scenario at a glance at the end of a session
fix
Used Draft Picks Leave the Depth Chart
- • When you use a draft pick to add a player in a custom scenario, that pick now disappears from the depth chart's available picks instead of still showing as available to add
improvement
Commas in Signing Salaries
- • Salary fields when signing or re-signing a player — including sign-and-trade contracts — now show thousands separators (e.g. 12,000,000) so the numbers are easier to read and enter
design
Steadier Trade Builder
- • The "Add Team" box in the trade builder now stays in place as you add teams, so you can add several in a row without the button moving on you
fix
More Accurate Free-Agent Cap Holds
- • The 190%-vs-150% cap-hold split now compares a free agent's prior salary against the league average from the season they actually earned it, instead of the average for the future season the hold lands in — matching how the rule works in the CBA
- • This applies everywhere holds are shown: team cap sheets, the contracts page, the Free Agents list, the Free Agent Market, and Sign & Trade candidates
improvement
Easier-to-Read Draft Picks
- • Second-round picks are now visually distinguished from first-rounders, and each draft year is separated with extra spacing so a team's picks are easier to scan
- • Click any draft pick to open a details popup with the full breakdown — year, round, original team, how it was acquired, protections, swap rights, and pick number
feature
Cash in Trades
- • You can now add cash to a scenario trade with a one-click "Add cash" toggle on each team in the trade builder
- • A team can now be part of a trade by sending only cash — making pure salary dumps possible, where one team absorbs a contract and the other generates a Traded Player Exception
- • Cash appears as an asset in the trade summary for the teams sending and receiving it
fix
Corrected Atlanta Hawks Draft Picks
- • Fixed the Atlanta Hawks' second-round picks: they no longer show their own 2028 and 2029 seconds, now correctly hold Cleveland's 2029 second and the Knicks' 2030 second, and carry swap rights on their 2031 second with Houston
fix
Roadmap Stability and Live Updates
- • Fixed a crash that could take down the Roadmap page when navigating to it
- • New tickets now show up on the Roadmap right away instead of after a delay or reload — even when you're already on the page as they're added
fix
Scenario Trade Fixes
- • Players you trade for in a scenario now show their real contract details when you open their profile, just like the rest of your roster
- • Removing a trade now also clears any players it brought in from your depth chart, so a leftover "ghost" player no longer lingers in a slot
- • The "Add to Trade" button for draft picks is now green to make it easier to spot
fix
Free-Agent Cap Holds Fixed
- • Free agents coming off a multi-year contract now correctly keep their Bird rights, so their cap hold is the right size — previously every projected free agent was treated as a non-Bird player, which made cap holds too low across the board
- • Corrected the league-average-salary figure that decides whether a free agent's hold is 190% or 150% of their prior salary; it had been set too low
feature
No-Trade Clauses and Poison-Pill Contracts in Trades
- • When a player with a no-trade clause is in a deal, you can now mark them as consenting — the warning turns into a confirmation so you can model a trade the player has agreed to
- • Poison-pill contracts now affect salary matching correctly: the team acquiring the player counts the higher remaining-years average while the team trading them away counts the current salary, which can make these deals harder to fit
feature
Recently-Extended Players Flagged in Trades
- • Players who recently signed a veteran extension are now flagged as untradeable until six months after the extension date, matching the league's extend-and-trade waiting period
- • Admins can record an extension's signing date on the player's contract, and the trade builder shows a clear restriction notice for any player still inside that window
improvement
Clearer Empty Roster Spots
- • Empty roster spots in a scenario's payroll now stand out instead of looking grayed-out — the "Add player" action is easier to see and click
- • The roughly $1.4M cap charge each empty roster spot carries is now shown in full color so it's not missed
fix
Draft Pick Crash Fix
- • Fixed a crash that could happen when browsing a team's draft picks in a trade scenario that included picks acquired from another team
improvement
Auto-Detected Issues on the Roadmap
- • Bugs the app catches on its own now show up in the roadmap's New column, marked with a GlitchTip tag so they're easy to tell apart from feedback you submit
improvement
Trade Exceptions And Draft Picks Stay Up To Date
- • Trade exception data can now be refreshed on demand from up-to-date sources, so each team's available exceptions reflect recent trades instead of a one-time snapshot
- • Exceptions that have been used up or expired are automatically retired, and newly created ones appear with their correct amounts and expiration dates
- • Draft pick ownership data is now audited against an additional independent source, with every difference reviewed by hand before anything changes
- • Contract and trade exception data now refreshes automatically on a regular schedule, with freshness monitored so out-of-date information gets caught and corrected quickly
fix
Filters and Search That Actually Filter
- • The team filter now works on the Stats, Player Contracts, and Free Agents pages — picking a team narrows the list instead of doing nothing
- • On the Stats page, the team filter now stays applied when you switch between stat types (Per Game, Shooting, EPM)
- • The Glossary search box now filters terms as you type
- • Fixed contract option labels (like PO and TO) showing up twice on the Player Contracts page
improvement
Trade Machine and FA Market Polish
- • Hovering the cap, tax, and apron lines on any cap bar — in the trade machine, scenario trades, and team cap sheets — now pops up an explanation of each line, its amount, and what crossing it means
- • In the free-agent market, you can now type an exact low/high asking price as well as drag the sliders
fix
Feedback Form and FA Market Fixes
- • The feedback pop-up now scrolls, so the Submit button is always reachable even before you add a screenshot
- • Fixed team labels overlapping the team name in the free-agent market's team list
design
New Logo on the Home Page
- • The Armchair GM armchair-and-basketball logo now appears as a large graphic on the home page, filling the space beside the headline
improvement
Clearer Team Salary in the Trade Machine
- • The team salary shown in the trade machine now notes that it counts committed contracts only and leaves out cap holds for free agents — so it can differ from the team's full cap sheet, where re-signing those players could change which trades fit
fix
Free Agents No Longer Slip Into Trades
- • Free agents now appear in a separate "Free Agents" list on each team in the trade machine and can't be dropped directly into a deal — moving them requires a sign-and-trade, which you can model in a cap sheet scenario
- • Previously these players could be added to a trade at $0, which could make an otherwise-illegal trade look like it worked
improvement
Trade a Player Straight From Its Menu
- • Added a "Trade player" option to the per-player menu (the dots) in the trade builder, so you can move a player into the trade without having to know to click the row
design
Armchair GM Gets Its Logo
- • Introduced the new Armchair GM logo — an armchair with a basketball seat — now shown in the top navigation and on the sign-in page
- • Updated the browser tab icon and home-screen icon to match the new brand
fix
Picks With Swap Rights Attached Show Up Again
- • Teams whose own draft picks have swap rights attached (like Boston's 2028 first or Cleveland's 2027 and 2028 firsts) now see those picks on their asset lists, annotated with who holds the swap
- • Previously only the swap-rights side existed, so the underlying pick disappeared entirely from its owner's assets and the trade machine
fix
Veteran Minimum Signings Count Correctly
- • Re-signing a player on a one-year veteran minimum now counts the reimbursed cap charge (the 2-year veteran rate) against the cap instead of the player's full salary
- • Minimum deals no longer silently commit as two-year contracts — they're one year unless you add a second-year option
- • Players who were renounced and then re-signed now count toward the roster again instead of staying in the off-roster section
- • The payroll table's Total, Cap Space, and Apron rows now include incomplete-roster charges, so they match the summary cards at the top of the page
fix
Team Option Years Labeled Again
- • Restored the TO label on team option years across cap sheets — rookie-scale contracts now show team options on years 3 and 4, and veteran deals with team options (like Kuminga's 2026-27) are labeled correctly
- • Player option labels that had gone missing on some contracts are back as well
feature
Waive & Stretch Players on Other Teams
- • When you pick a player under contract with another team in the player browser, you can now choose Waive & Stretch in addition to trading for them or buying them out
- • The buyout option is now labeled "Waive / Buy Out" — keep the full amount for a straight waive, or reduce it to reflect money the player gives back
fix
Waive & Stretch Uses Guaranteed Money Only
- • Waiving a player now only counts the money they're actually owed — unexercised player and team option years no longer inflate the dead money (e.g. a partially guaranteed contract with a player option year now defaults to just the guaranteed amount)
- • Stretch previews now spread over the correct number of seasons, since option years no longer count as remaining years
- • If you exercise an option in your scenario first, that year correctly counts toward the waive cost
- • Fixed the partial-guarantee tooltip labeling the guaranteed portion as "Non-guaranteed"
fix
Players in Their Final Contract Year Show Correctly
- • Fixed players whose contracts run through this season being wrongly treated as free agents — they showed up as cap holds in the Sign & Trade section instead of as rostered, tradeable players
- • Cap sheets, the scenario trade builder, and the other-team editor now only show cap holds for players whose contracts have actually expired
- • Cap hold amounts for true free agents are now based on the final year of their expired contract instead of showing $0
fix
Pick Options Work in Trades Again
- • Fixed the pick controls in the trade machine — protection choices (Unprotected, Top-N, Custom), the swap rights toggle, and the destination team buttons were not registering clicks, which made it impossible to set up picks properly in multi-team trades
fix
Removing Teams From Big Trades Works Again
- • Fixed the remove button (×) on team chips doing nothing in trades with three or more teams — clicking it now removes the team and its assets from the deal
- • Fixed the "Confirm it's fixed" button on roadmap cards not responding when clicked
- • Fixed the close button and "Confirm it's fixed" button inside the roadmap item pop-up not responding — closing by clicking outside or pressing Escape still works
fix
Feature Tips Stay Dismissed
- • Feature tip popups (like the player walkthrough on cap sheets) now stay dismissed for visitors who aren't signed in — previously they could reappear every time
- • Tips no longer flicker briefly on screen when you've already seen them
design
A Sleeker, Modern Look
- • Refreshed the whole app with a new visual identity: new typefaces, softer layered shadows, and a cooler graphite palette
- • Teal accents join the court orange, with rounder corners throughout
design
A Proper Homepage
- • The homepage is now a real front door — it introduces every tool with a quick preview instead of dropping you straight into the trade builder
- • The Trade Machine has moved to its own page, one click from anywhere via the Trade link in the navigation
- • Jumping straight to any team's cap sheet from the homepage still works, now with a clearer layout
improvement
Tip Jar
- • Added a tip jar — if Armchair GM is useful to you, you can buy me a coffee via the ☕ link in the footer or on this page
fix
Exact Buyout Dead Money
- • Dead money from buyouts now adds up exactly to the buyout amount across all seasons — previously a few dollars could go missing on large contracts due to rounding
fix
Sign-and-Trade Rules Follow the Player
- • Receiving a sign-and-trade player in a scenario now correctly hard-caps that team at the first apron — previously the restriction could silently disappear once the trade was saved
- • Base year compensation and poison pill salary-matching rules now carry over when a traded player is involved in a later trade, so follow-up deals are validated against the right numbers
improvement
Better Link Previews
- • Shared trade and scenario links now show a proper preview card in social apps and chat — including which teams are involved
- • Every page now has a branded preview image when linked on Discord, Twitter, and similar apps
feature
Delete Your Account
- • You can now delete your account from the Account page — type a quick confirmation and your email and sign-in details are permanently removed
- • Scenario links you've shared with others keep working after deletion; they're just no longer tied to you
improvement
Privacy Policy and Terms of Service
- • Added a Privacy Policy and Terms of Service, linked from the new footer at the bottom of every page
improvement
Launch Hardening
- • Sign-in sessions now last 90 days instead of effectively forever — when one expires, just request a fresh magic link
- • The feedback form and magic-link sign-in are now protected against spam, so a flood of repeat requests is politely asked to slow down
- • Fixed an issue where attaching three full-size screenshots to a feedback report could fail to submit
- • Typing unexpected values into roadmap, depth chart, draft pick, and admin contract fields no longer risks crashing the page
design
Friendlier Error Pages
- • If something goes wrong, you'll now see a proper Armchair GM page with a way back home instead of a generic browser error
- • Missing pages point you back to the home page and the team cap sheet grid, and error pages include a quick link to report the problem
fix
Salary Matching Thresholds Now Grow With the Cap
- • Trade salary matching now uses the cap-scaled buffer from the 2023 CBA — the $7.5M middle-tier allowance grows each year in proportion to the salary cap, so for 2026-27 teams below the first apron can take back outgoing salary plus about $9.1M
- • The boundaries between the 200%, buffer, and 125% matching tiers now rise each season to match the official NBA figures, so some trades that were previously rejected as too lopsided are now correctly allowed
- • The "show the math" breakdown and trade error messages show the scaled buffer and tier ranges for the season you're viewing
fix
Screenshots Show Up on Roadmap Items
- • Screenshots attached to feedback reports now display as images on the roadmap item instead of raw text — click one to open it full size
- • Links in roadmap items are now clickable, and section headings render properly
- • Roadmap card previews no longer show image code — just the description
feature
Your Handle on the Roadmap
- • Every account now has a public handle (like Crafty-Eurostep-4821) — it's how you appear as the reporter on roadmap items you submit, so your email address is never shown to anyone
- • Personalize your handle any time from the new Account page, linked from the menu under your name — or shuffle for a new random one
- • Roadmap cards and their detail view now show who reported each item by handle
- • Filter the roadmap by reporter with the new dropdown, or hit the My Issues button to see just the items you've submitted and track exactly where your feedback stands
- • When a fix for your report ships and lands in In Review, you'll see a Confirm It's Fixed button on the item — clicking it moves it to Completed, so nothing you reported gets closed without your sign-off
- • Changing your handle automatically relinks every roadmap item you've reported to the new name, so your history and confirm buttons follow you
- • Admins can mark an in-review item completed without waiting on the reporter, so items don't linger forever
fix
Feedback Reports Now Land on the Roadmap
- • Reports submitted through the feedback form now show up on the public roadmap right away in the New column — previously they were received but never surfaced there, which could make a report look like it disappeared
- • Recent reports that were affected have been added to the roadmap retroactively
feature
Player Landscape & Market Supply in the FA Market
- • A free agent's market page now has a Player Landscape view alongside the team landscape — flip the toggle to compare him against every player in the league, on the market or under contract
- • The player view uses the same instant filters as comparable contracts: position buttons, profile badges, a salary window, and an On the Market / Under Contract switch
- • A new Market Supply card captures scarcity: it counts comparable players at his position who are also free agents and labels the market Scarce, Balanced, or Crowded — because the only big man on the market gets paid differently than one of ten
- • Competing free agents appear as tappable cards that jump straight to their own market pages
- • The player landscape opens showing only players actually on the market — tap the status filters to bring under-contract players into view
improvement
Comparable Contracts, Rebuilt for Browsing
- • The comparable contracts view now shows every player in the league sorted by salary, instead of a fixed list of 15 algorithm-picked matches — scroll the salary neighborhood the way you'd scan a contracts page
- • One-tap position buttons (PG, SG, SF, PF, C) replace the dropdown, and a two-handle salary slider lets you widen or narrow the salary window instantly
- • Players now carry profile badges like 3&D Wing, Floor General, Rim Protector, and Stretch Big — tap a profile to see only players who fit that role
- • The view opens with smart defaults based on the player you're comparing: his positions, his profile, and a salary ceiling just above his contract — every default is a visible filter you can turn off to see the whole landscape
- • All filtering and sorting happens instantly with no waiting, and the projected value estimate still comes from the closest statistical comparables regardless of your filters
- • Filters are organized into labeled rows (Position, Age, Profile, Salary) and sized for phones, where a player's season stats now scroll sideways instead of squishing into unreadable columns
- • The whole filter panel collapses to a single line once you've set it — with a count of active filters — so it stops taking up screen space while you scroll the results
- • Tightened who earns the Shot Creator label: high shot volume alone no longer qualifies — it now requires efficient scoring or real playmaking on that volume
feature
Team Fit at a Glance in the FA Market
- • Every team row in a player's market now shows how many players that team has at his position, color-coded so thin spots and crowded rotations stand out instantly
- • Clicking a team opens a side panel with its roster and salaries, a position-by-position depth chart showing where the free agent would slot in, and the team's committed salary, cap holds, and cap space
- • The panel's depth view highlights the player's position and pencils him into the group so you can picture the fit
- • A button in the panel jumps to the team's full cap sheet, already set to the season you're exploring
feature
Multi-Team Trades, Redesigned
- • Trades with 3 or more teams now use a flow-centric view: a compact team rail up top, and a single ledger showing every asset in the deal with who sends it and who receives it — no more scrolling through a wall of roster cards
- • Each team chip shows its cap position, salary in/out, and whether its salary matching passes, and clicking it opens the roster in a slide-over panel for picking players, picks, and viewing exceptions
- • Adding and routing is one step: clicking a player in the roster panel shows team chips to send them to, and picks get a destination choice right in their configuration — no separate routing step afterward
- • Every asset in the deal can be re-routed to a different team at any time from a dropdown on its ledger row, without removing and re-adding it
- • Two-team trades keep the familiar side-by-side layout
- • Raised the team limit from 6 to 8 (the NBA record is a 7-team trade)
- • If something goes wrong while checking a trade, the page now shows a notice and keeps your trade intact instead of crashing and resetting
- • The scenario trade builder gets the same experience: at 3 or more teams it switches to the team rail, deal ledger, and slide-over rosters — with all the scenario extras (sign-and-trade cap holds, waive/decline roster actions, option resolution) intact inside the panels
improvement
Season Selection Everywhere
- • Player Contracts now has a season selector, so you can browse any season's contracts instead of being locked to the current one
- • Player Stats uses the same season selector style as the rest of the app, and your chosen season lives in the page link for sharing
- • Cap sheet links can include a season (for example ?season=2027-28) to open directly on that year's payroll view
- • All season selectors mark the league's active season so it's always clear which year is the real one
feature
Season Selector for Free Agency
- • Pick which free agency class you're exploring — the Free Agents list and FA Market now share a season selector covering the current season and any future season with cap thresholds loaded
- • Season choices live in the page link, so you can share a URL that opens directly on, say, the 2027-28 market
- • The league's active season now appears next to the logo on every page, and the FA Market always opens on it instead of skipping ahead a year
- • Fixed the FA Market showing a different season than the Free Agents page
improvement
In Review Stage on the Roadmap
- • The roadmap has a new In Review column between In Progress and Completed — when work on a ticket ships, it lands there instead of being closed immediately
- • Tickets only move to Completed once the person who reported them confirms the change works to their satisfaction, so your feedback gets a real follow-up instead of a drive-by close
fix
Trade Machine Stability Fix
- • Fixed a crash when removing a team from a trade or choosing a player's destination in trades with three or more teams
fix
Opt-Outs Now Leave a Cap Hold Behind
- • Declining a player option now puts the player's cap hold on the payroll for the option season — matching the real order of operations where the opt-out makes them a free agent before anything else happens
- • Opted-out players stay on the payroll as free agents with a hold, so you can re-sign, sign-and-trade, or renounce them right from their payroll cell — or exercise the option again to undo the decision
- • The declined option amount stays visible (struck through) next to the new cap hold so you can see what the player walked away from
- • The cap summary cards and cap position bar now pull their cap hold figures from the same per-season numbers as the payroll table totals, so they always agree for whichever season you're viewing
- • The cap position bar shows a lighter extension for cap holds on top of committed salary
fix
Free Agents List Shows Only True Free Agents
- • The Free Agents page no longer lists players who are still under contract for the current season — previously, players whose deals run through this season appeared a year early
- • The player market view now flags anyone who isn't actually a free agent for the season being explored, and bases cap holds and Bird-rights maximums on their last salary before free agency
improvement
Salary Matching, Explained
- • Every team in a trade now gets its own result card showing salary out, salary in, and a pass/fail badge for salary matching — even when the trade doesn't work
- • Click "Show the math" on any team card to see exactly which matching rule applies (cap room absorption, the 200%/$7.5M/125% tiers, or the 100% apron limits) and the calculation behind the team's maximum incoming salary
- • When a trade fails matching, the breakdown shows how far over the limit the team is instead of leaving you guessing
- • Teams above the second apron see a reminder that salaries can't be aggregated
- • Hover any abbreviated salary in the trade machine to see the exact figure — two players can both show $7.5M yet differ by enough to break the matching rules
- • The trade summary and the matching math now show exact dollar amounts, so salary mismatches are visible at a glance
feature
Cap Holds Panel
- • Added a dedicated Cap Holds panel to the cap sheet's Payroll tab — every free agent hold, renounced hold, and incomplete roster charge in one place, with the total always visible
- • Renounce any hold (or all of them at once) directly from the panel while building a scenario, and undo a renouncement with one click
- • Each hold shows the player's Bird rights level and the panel explains how holds affect your cap space
improvement
Clear Errors for Illegal Moves
- • Signing a player to an illegal contract now shows exactly which rule blocks it, right inside the signing window — no more moves that silently fail or appear to go through
- • Bird rights signings are now checked against the player's Bird maximum, with an explanation when a proposed salary exceeds it
- • Buyouts and waive-and-stretch moves now warn when the dead money entered exceeds the player's remaining guaranteed salary
- • Error messages include a link to the glossary entry for the rule involved, so you can read up on why the move is illegal
feature
Player Market Explorer
- • Explore the market for a specific free agent: every team's maximum offer to that player, capped at his max salary, with his current team pinned at the top showing what Bird rights allow
- • Set an asking price range — seeded from comparable players' salaries — and watch teams that can't reach it fade out of the market
- • Restricted free agents show a banner explaining the incumbent team's right to match any offer sheet
- • Jump in from the Free Agents list via the new Explore link on every player
fix
More Accurate Cap Holds
- • Cap holds for players coming off rookie-scale contracts now use the correct 250–300% multipliers, so first-round picks hitting free agency show realistic holds instead of standard Bird rates
- • Full Bird free agents who earned below the league's estimated average salary now carry the higher 190% hold the CBA prescribes
- • Cap holds are now capped at the player's maximum salary and floored at the minimum salary, so stars coming off rookie deals no longer show impossibly large holds
- • These corrections apply everywhere holds appear: the FA Market board, the Free Agents list, and team cap sheets
feature
FA Market Board
- • New FA Market page shows what every team could offer a free agent this offseason and the signing mechanism behind the number — cap space, mid-level, taxpayer mid-level, room exception, or minimum
- • Toggle between two views: the market as it stands today with every cap hold on the books, or each team's theoretical ceiling if they renounced all holds and waived non-guaranteed salary
- • Teams are grouped into market tiers — who can beat the full mid-level, who's capped at it, and who can only offer exceptions or minimums — with warnings where a signing would hard-cap the team
- • Find it under Contracts → FA Market
feature
Contract Renegotiation in Scenarios
- • Renegotiate a player's contract within a scenario from the payroll table's action menu — raise their salary using your cap room, with CBA rules enforced
- • Renegotiations require cap room, can only increase salary, and are only allowed after the third anniversary of the contract signing
- • Optionally carry the same raise into the remaining seasons of the deal, and undo a renegotiation at any time
fix
Smarter Stepien Rule Validation
- • Stepien Rule validation now counts every first-round pick a team holds, including picks acquired from other teams — previously only a team's own original picks were considered
- • Acquiring a first-round pick in the same trade now counts toward Stepien compliance, so trading your own pick while receiving another first-rounder in an adjacent year is correctly allowed
- • Trading one of two first-round picks held in the same draft year no longer incorrectly flags that year as uncovered
fix
Scenario Signing Fixes
- • Contract extensions now start immediately after the existing contract ends instead of leaving a gap year with a cap hold
- • Cap hold totals now correctly reflect option decisions made within a scenario — declining an option properly adds the player's cap hold to the total
feature
Trade Exceptions on the Thresholds Tab
- • The Thresholds tab now lists your team's active Trade Player Exceptions alongside the other available exceptions, showing the remaining amount and expiration date for each
- • Trade exceptions created by trades within your current scenario appear in the same list with a Scenario badge
feature
Free Agents Page
- • New Free Agents page lists every player whose contract expires after this season, with the cap hold their team carries until they re-sign, renounce, or lose them
- • Filter by name, position, or team and sort by any column, including last salary and cap hold amount
- • Each free agent shows their Bird rights tier and an estimated restricted/unrestricted status
- • Find it under Contracts → Free Agents in the navigation
fix
Search and Display Polish
- • Stats page columns no longer squish into unreadable text on phones — the table now scrolls sideways with clear, readable headers
- • Player searches that come up empty now explain why and suggest what to try, including a reminder when the Free Agents tab is hiding players who are under contract
- • Smoothed out the glitchy hover animation on team icons in the home page cap sheet grid
improvement
Trade Builder Improvements
- • Trades that generate a Traded Player Exception (TPE) now display an informational callout explaining the exception amount and how it can be used
- • Acquired draft picks now show which team they came from (e.g. 'via IND') instead of a generic label
- • Draft picks in the assets tab are now sorted by year and round instead of showing acquired picks at the bottom
- • Fixed trading a previously acquired draft pick to a third team not correctly removing it from your assets
feature
Mini-Payroll in Trade Builder
- • Trade builder team cards now show cap space, first apron space, and second apron space at a glance
- • Decline player or team options directly within a trade to free up salary
- • Waive players or renounce cap holds without leaving the trade builder
- • Threshold numbers update in real-time as you build the trade
fix
Bug Fixes
- • Players on expired contracts no longer appear in both the regular roster and cap holds sections of the trade builder — they now only show in the Sign & Trade section where they must be signed to a contract before being traded
- • Fixed team names showing duplicated city names in the Team Contracts page
- • Research popup no longer carries over when switching between players
- • Comparable Contracts panel stays open while you interact with the rest of the page
improvement
Roadmap Improvements
- • Roadmap now shows all tracked issues from beta feedback across Backlog, Planned, and In Progress columns
- • Clicking any roadmap card opens a detail view with the full description, labels, and activity history
- • Enhancement and feature request items now display with distinct badge colors for easier scanning
feature
Automated Contract Refresh
- • Contract data can now be refreshed in bulk instead of one player at a time
- • Stale contracts (not updated in 7+ days) are automatically prioritized
- • Progress tracking shows which player is currently being updated
improvement
Player Browser
- • The "Add Player" button now opens a full player browser with a searchable, sortable table of every NBA player
- • Toggle between Free Agents, All Players, and Draft Picks tabs
- • Filter by name, position, or team and sort by any column
- • Contracted players can be signed as buyout candidates with a single click
feature
Feedback & Roadmap
- • Submit bug reports, data issues, feature requests, and other feedback directly from the app
- • Attach screenshots by selecting files or pasting from your clipboard
- • Quick-access feedback button available on every page — swipe it away if you don't need it
- • View the product roadmap to see what's new, planned, in progress, and completed
- • Roadmap is managed as a drag-and-drop kanban board by the admin team
improvement
Depth Chart Improvements
- • Drag and drop players between depth chart slots to rearrange your rotation without clearing and re-adding
- • Dragging a player onto an occupied slot swaps the two players automatically
- • Unassigned roster players and draft picks can also be dragged from the picker directly into slots
- • Fixed player photos not appearing for players acquired via trade or free agent signing
feature
Contextual Feature Guides
- • Helpful tips now appear the first time you open a feature like the player profile, trade builder, or signing modal
- • Each guide explains what the feature does and how to use it, without interrupting your workflow
- • Guides only show once per feature and won't repeat after you dismiss them
feature
Buyout & Waive-and-Stretch Support
- • Team cap sheets now show dead money from real-world buyouts including Lillard, Beal, Ayton, Nassir Little, Cole Anthony, Liddell, and Micic
- • Dead money appears in a dedicated section of the payroll projection and counts toward cap, luxury tax, and apron calculations
- • Buy out or waive-and-stretch any contracted player in scenario mode to model cap relief strategies
- • Non-stretch buyouts keep dead money on the original contract schedule; stretch provision spreads it over (2 × years + 1) seasons
- • Dead money is included in trade salary matching and cap position calculations for all teams
fix
Player Photo Fixes
- • Fixed missing and incorrect player headshot photos across the app by refreshing player IDs
- • Editing a player's NBA Player ID now shows a clear error message if that ID is already assigned to another player
feature
Stats & Contracts Pages
- • New Stats page lets you browse and compare player statistics across the league with search, position and team filters, and sortable columns
- • Stats are organized into Per Game, Shooting, Advanced, and EPM tabs to keep things easy to digest
- • New Team Contracts page shows every team's committed payroll across multiple seasons, with projected cap holds shown in parentheses
- • Team Contracts columns are sortable — click any season header to rank teams by that year's payroll
- • New Player Contracts page displays all player contracts sorted by salary, with contract type, options, and guaranteed amounts
- • Added Contracts dropdown in the navigation bar with links to Team and Player contract views
improvement
Data Editing Tools
- • Admins can now edit player information, stats, and contracts directly from the Stats and Player Contracts pages
- • Edit forms include all player fields — name, position, bio, bird rights, trade restrictions, draft combine measurements, and NBA Player ID for correcting headshot photos
- • Stats page edit modal allows updating all statistical fields for the selected season
- • Player Contracts edit modal allows inline editing of salary, cap hit, and guaranteed amounts per contract year
fix
Security & Reliability
- • Shared scenarios are now properly read-only — only the scenario owner can save, delete, or share
- • Fixed an issue where viewing a shared scenario with multiple teams could fail under certain conditions
improvement
Scenario Management Improvements
- • Deleting a scenario now only removes the entire set if you created it — removing a linked team's scenario cleanly undoes cross-team transactions while keeping the original scenario intact
- • Removing a trade now correctly resets any player option decisions that were part of that trade
- • Fixed a rare issue where two users viewing the same shared scenario could create duplicate team entries
feature
Cap Sheet Guided Tour
- • New users now see a step-by-step guided tour that walks through the cap sheet interface
- • The tour highlights key areas including cap summary cards, the cap position bar, scenario tabs, content tabs, and the payroll table
- • You can skip the tour at any time, and it won't appear again once completed
feature
Multi-Team Scenarios
- • Scenarios now track changes across all teams involved in your trades — execute a trade on one team and see the impact on the other team's cap sheet automatically
- • A team navigation bar appears when your scenario involves multiple teams, letting you quickly switch between perspectives
- • Trades made from another team's perspective appear in your trade history with a visual indicator and cannot be edited from that side
feature
Player Option Resolution & Sign-and-Trade Improvements
- • The trade builder now detects players with unresolved contract options (player options, team options, and early termination options)
- • You must resolve each option before the trade can be evaluated, since the player's trade salary depends on the decision
- • Exercising the option keeps the player's option-year salary for trade matching
- • Opting out transitions the player into the sign-and-trade flow with full contract builder
- • Sign-and-trade contracts are now configured inline in the trade summary instead of the team card below
- • The S&T contract form now uses the player's actual bird rights to calculate maximum salary, with a salary slider, multi-year terms, annual raise percentage, and player/team option support
- • Option badges (PO, TO, ETO) are now visible on player cards in the trade builder roster list
feature
Comparable Contract Tool
- • Find players with similar stats and compare their contracts to evaluate market value or discover replacement options
- • Click the scale icon on any player in the cap sheet to open the comparable contracts modal
- • Full player profile with stats, advanced metrics, and contract history displayed at the top of the modal
- • Toggle between basic stats and advanced metrics (EPM offense/defense/overall percentiles, PER, BPM) in the results table
- • Sort results by clicking any column header — hold Shift to add secondary sorts
- • Production-weighted market value projection estimates what a player should earn based on comparable contracts, adjusting for over- and under-pays
- • Filter results by position group, max salary, and age range
- • View a side-by-side stat and contract comparison with team-colored banners for any comparable player
- • Jump directly into a trade, free agent signing, or sign-and-trade from the comparison results
improvement
Player Data Backfill
- • Added height, weight, and date of birth for the majority of players using NBA.com player bios
- • Imported Draft Combine measurements (wingspan, standing reach, body fat, hand size, vertical leap, sprint, agility, bench press) for players who attended the combine
- • Age-based filtering in the comparable contract tool now works for most players
design
Cap Position Bar Redesign
- • Redesigned the cap position thermometer with a cleaner, flatter track and precise threshold tick marks
- • Added labeled annotations (Cap, Tax, 1st, 2nd) above each threshold for easier identification
- • Updated the legend with smaller, more refined styling
fix
Mobile Cap Sheet Fix
- • Player profile stats tables no longer misalign when scrolling the payroll table horizontally on mobile
- • Advanced stats column headers now scroll in sync with data rows
design
Improved Salary Tooltips
- • Hovering over a salary now shows a styled tooltip with the full dollar amount and percentage of the cap, appearing instantly instead of after a browser delay
- • On mobile, tap any salary to see the same detail — no long-press needed
feature
Player Profiles & EPM Ratings
- • Click any player to expand a full profile with headshot, team colors, and tabbed views for Stats, Advanced, and Contract data
- • Added EPM (Estimated Plus-Minus) ratings with offensive, defensive, and overall percentile rankings for every player
- • EPM ratings appear as color-coded badges under each player's name, with a toggle to show or hide them (preference is remembered across sessions)
- • Multi-season stat tables show per-game, shooting, and advanced metrics with up to 5 years of history
- • Contract details are now viewable in the player profile — admins can edit salaries, options, and flags inline
- • Contract research is now available directly from the player profile contract tab
- • Added glossary entries for all advanced metrics — hover over any stat column header for an explanation
improvement
Stats Data Pipeline
- • Player stats now use a more reliable data pipeline that avoids frequent timeouts
- • Stats now load for all players on a roster, including those acquired through trades or free agency in scenarios
feature
Inline CBA Glossary
- • CBA terms throughout the app now show contextual definitions on hover — no need to leave the page to look up what Bird Rights or the First Apron means
- • Info icons appear next to salary cap thresholds, trade rules, signing exceptions, and other cap terminology
improvement
Cap Percentage & Salary Formatting
- • Team salary now shows what percentage of the salary cap it represents
- • Hovering over any contract in the payroll table shows the full dollar amount with commas and the percentage of the cap it occupies
- • The thresholds tab now includes a '% of Cap' column showing each threshold relative to the salary cap
feature
Sign-and-Trade Support
- • Cap holds now appear in the trade builder for every team — click one to propose a sign-and-trade with custom contract terms (salary, years)
- • Define S&T contracts inside the trade builder where you can see both teams' cap situations side by side
- • Base Year Compensation applies automatically — the sending team's outgoing salary is reduced to 50% for trade matching
- • Receiving a sign-and-trade player triggers a first apron hard cap, and trades that would exceed it are blocked
- • Three-team sign-and-trades are fully supported — BYC and hard cap rules follow the player to whichever team receives them
feature
League-Wide Scenarios
- • Scenarios now track the entire league — players you've signed or traded away from other teams no longer appear on those rosters
- • Modify other teams' cap sheets within your scenario to model how they might clear space before a trade
- • Waive players or renounce cap holds on any team, with changes reflected in trade validation and saved with your scenario
feature
Second-Round Draft Pick Support
- • Cap sheet projections now support adding second-round draft picks alongside first-rounders
- • Quick-add buttons appear for both first and second-round picks with known slot numbers
- • Second-round picks project at 2-year minimum salary contracts
design
Dark Mode Default
- • Dark mode no longer activates automatically based on system preferences — light mode is now the default for all users
feature
Pick Protection & Swap Rights
- • Clicking a draft pick in the trade builder now opens a configuration panel instead of immediately adding it
- • Choose between trading the pick outright or offering swap rights
- • Set protection levels (Top 1-11) with conveyance options — next year's first, second round, or not conveyed
- • Custom protection text for complex multi-year protections
- • Protection and swap badges appear in the trade summary
- • Picks 12-15 cannot be protected, per the new NBA rules
improvement
Undo Trades from Payroll
- • Traded-in players now show a "via LAL" badge indicating which team they came from
- • You can undo an entire trade directly from a traded-in player's row in the payroll table
- • A confirmation dialog shows the trade name and warns that all players and picks from that trade will be removed
improvement
Updated Draft Pick Data
- • Updated 2026 draft order to reflect actual lottery results (Washington #1, Utah #2, Memphis #3, Chicago #4)
- • Added pick numbers for all 60 picks in the 2026 draft — picks now show as "2026 1st (#11)" instead of just "2026 1st"
- • Added second-round draft picks to the trade builder (previously only first-round picks were available)
- • Added missing traded picks for 2027-2031 including Bridges, Lillard, Simmons, and Grant Williams trades
- • Corrected pick protections with detailed thresholds and conveyance rules
- • Every traded pick now shows its trade lineage (e.g. "via Milwaukee (Holiday trade)")
fix
Trade Validation Fixes
- • Fixed Stepien Rule incorrectly flagging trades involving only second-round picks
- • Fixed Stepien Rule showing violations that existed before the trade (only flags gaps caused by the current trade)
- • Trade validation errors now name the specific team instead of saying "This team"
- • Error and warning messages are now clearly readable in dark mode
- • Validation no longer fires until both teams have selected at least one outgoing asset
- • Increased validation delay so results don't flash while you're still selecting players
feature
Trades in Scenarios
- • You can now execute trades within a cap scenario to simulate full offseason plans
- • Traded-in players appear with their real contract data in your team's payroll projection
- • Trade validation runs against your scenario-adjusted salary and cap position
- • Draft picks and trade exceptions from trades are reflected in your scenario
- • Remove a trade to revert your roster — any re-signings of traded-in players are also cleaned up
design
Trade Builder Polish
- • Player headshot photos now appear in the trade builder — both in the player list and trade summary
- • The "Make a Trade" button is now positioned next to the Payroll/Thresholds/Assets/Depth Chart tabs
- • The scenario trade builder opens as a modal overlay instead of inline on the page
- • The trade builder validates against your scenario's adjusted salary and cap position, not stale league data
design
Mobile-Friendly Redesign
- • Added a hamburger menu for navigation on phones and small tablets
- • Modals and popups now fit properly on small screens instead of overflowing
- • Buttons and table rows are easier to tap on touch devices
- • Team cap sheet page header stacks vertically on mobile for better readability
- • Scenario tabs scroll horizontally on small screens instead of wrapping awkwardly
- • Tables show a fade indicator when they can be scrolled sideways
- • Form inputs no longer trigger zoom on iOS when focused
- • Added support for notched devices (iPhone safe areas)
design
Dark Mode & Visual Refresh
- • Added dark mode with a toggle in the top navigation bar
- • Your theme preference is remembered across sessions
- • Redesigned the overall look with a cleaner, more modern feel
- • Improved contrast and readability across all pages