September 9, 2026Latest
A Wrestling League Overview That Has Something On It
The league overview was built for a sport with a standings table, a fixture list and a stat sheet, and a wrestling league has none of the three. So every wrestling league opened on the same page: "No standings yet" filling the middle, "No stats logged yet this season" in the right rail, and the recent bouts on the left the only thing on it — however many cards had been run and however many belts had changed hands. All three columns now hold what a wrestling promotion actually keeps. The middle carries the contender rankings, the same board as the Rankings tab with champions on top, streaks, and the metric your league is ordered by (Power Points or match record), singles and tag teams both. The right rail is the title picture: every active championship, who is carrying it, and how many defenses into the reign they are — vacant belts say so. And the left rail leads with the next card booked, the way a team sport leads with its next game: the show, the date, the venue, the main event as it stands, how many bouts and segments are on it, and a line underneath for the card just run and what topped it. Once the schedule is run out, that card becomes the last one instead. The season-progress meter counts cards run rather than games played, so it works for a promotion too. If your league does log wins and losses as stats, the league leaders still appear under the champions; if it does not, that box is gone rather than empty.
WrestlingOverviewRankingsTitles
August 14, 2026
Race Winners, and a Real Manufacturers' Championship
Two things for racing leagues. First, they have a story now: scoring a race writes it to the league's Activity page — who won, at which track — where before a racing league showed "League created" and nothing else no matter how many races had been run. Those wins also surface on your main dashboard feed alongside team news and title changes; racing keeps its results in its own place rather than in box scores, which is why it never appeared there before. Re-score a race and its entry updates rather than a second one piling up. Second, the manufacturers' table was simply adding up every car a marque entered, which is not what a manufacturers' championship is. Running ten cars beat running two on arithmetic alone: Chevrolet finishing 2nd, 4th and 6th "beat" a Ford win by 111 points to 40. It now works the way NASCAR ran it from 1952 to 2013 — the era a legends pool is tributing. Only each marque's highest-finishing car counts, and the marques are then ranked against each other: 9 points to the one whose best car came home first, then 6, 4, 3, 2, 1, and nothing from seventh. If your league has more than six manufacturers, the rest score zero in that race; that is the system, not a gap in it. Wins and top-fives still describe the car that did it, and every one of those drivers keeps their full points in the drivers' championship, which has not changed. Leagues built from a season import, where each team is a single car, have no marques to rank and score exactly as they did before.
RacingStandingsActivity
August 13, 2026
Formula 1 Seasons Now Hold the Actual Races
Every F1 season in the app was recording Friday practice as the Grand Prix. A NASCAR or IndyCar race weekend arrives from our data source as one thing; an F1 weekend arrives as five — three practices, qualifying, and the race, in that order — and we were reading the first of them. So the 2024 Bahrain Grand Prix had Daniel Ricciardo winning, because he topped first practice, while Max Verstappen (who won the race) sat sixth. Four of the first six races of 2024 named the wrong winner, and every one of them looked perfectly plausible on the page, which is what let it sit there unnoticed. All three seasons — 2023, 2024 and 2025, seventy Grands Prix — have been rebuilt from the race session and checked one by one against the record books; they now match, down to the 2024 Belgian Grand Prix where George Russell crossed the line first, was disqualified for an underweight car, and Lewis Hamilton was classified the winner. Starting grids came along with the fix: every result now carries where that driver qualified, where before the column was empty. Two honest limits worth knowing. Sprint races are not imported as rounds of their own — a sprint pays a much shorter points table than a Grand Prix and your league scores one table all season, so a sprint on the schedule would quietly pay someone twenty-five points for an eight-point win; a season here is its Grands Prix, and a championship built from it will differ from the real one by the sprint points. And retirements are not marked, because the source classifies a retired car at the back of the order rather than flagging it, and a guess would be worse than a blank. The generator now refuses to write a season whose winner disagrees with the source's own winner flag, so this particular silence cannot happen twice.
RacingFormula 1Quick Starts
August 13, 2026
Racing Seasons Score Themselves
Setting up a racing league used to have a hole in the middle of it. Importing a NASCAR Cup, Formula 1 or IndyCar season gave you the cars and the calendar, but not the drivers — and since a race result is recorded against the driver, "Enter Results" opened on an empty grid and the driver championship could never fill in. Imports now bring the driver in every car, with their portrait, and existing leagues get an "Add drivers to cars" button that does the same in one click. The season's real finishing orders came with the import all along, hidden the way team-sport imports hide their final scores; now every race with one carries an Official button that scores it, and you can score every unentered race at once if what you wanted was the 2024 season on the books rather than thirty-six races to play out. Races you have already entered yourself are left alone. Scoring itself has caught up with its own settings: the win, pole, lead-lap, most-laps-led and stage-win bonuses were configurable but awarded nothing, and points typed into a result's Bonus column were saved and then left out of the standings. Bonuses are now worked out from what each race records — start position, laps led, stage wins — and both columns count toward the championship. The results dialog shows what each driver is earning as you type, flags two cars in the same finishing position, and treats the Pts and Bonus boxes as overrides, so fixing a mis-typed finish re-scores the race instead of keeping the old number. And a Formula 1 league now starts on Formula 1 points: every series shared the sport name "Auto Racing", so every racing league was quietly seeded NASCAR's table. The system follows the series you started from, and the create form shows you which one before you commit.
RacingQuick StartsStandings
August 12, 2026
Driver Standings Lead the Racing Championship
Racing leagues run two championships off the same race results — one for the driver, one for the car — and until now the app only ever showed you the car. The league overview and the Standings page now lead with the driver championship: points, wins, top 5s, top 10s and DNFs per person, with the car they last raced as a second line underneath. The team championship has not gone anywhere; it has its own page at Standings → Teams, with a Drivers/Teams switch between the two, and the public league page publishes both tables one after the other. The distinction matters the moment a driver changes cars mid-season: their points now follow them rather than staying with the ride, which is the way a real driver title works. Results entered without naming a driver fall back to whoever is the car's active driver, so the one-driver-per-car leagues everybody starts with need no extra bookkeeping — the table simply appears. Nothing about how you enter a race result has changed.
RacingStandings
August 12, 2026
"Bulk Populate" Is Now "Create Random Drivers"
The button on the player pool page that fills a league with fictional names said "Bulk Populate", which described the mechanism rather than the result. It now says what it makes, in the league's own vocabulary: "Create Random Drivers" in a racing league, "Create Random Wrestlers" in a wrestling one, "Create Random Players" everywhere else. The dialog behind it follows the same wording throughout. The behaviour is unchanged.
PlayersPolish
July 28, 2026
Suspended Players
A player can now be marked Suspended, alongside Injured and Day-to-Day on their team roster. Every game-day surface treats it the way it treats an injury — the lineup editor and the box score flag a suspended player in red when you name them, and a return date clears the flag automatically once the fixture is on or after it, so a two-match ban looks after itself. The Discipline panel on the Stats page closes the loop: it already told you who had reached a booking cutoff, and now shows which of them you have actually marked suspended. Still nothing is enforced. The app counts the cards and tells you a ban is due; marking the player is your decision, and a house rule that ignores accumulation entirely is as valid as it ever was. Unlike the injury options, Suspended is available in every league whether or not injury tracking is switched on — any sport can suspend anyone, and the option costs nothing when unused.
DisciplineRosterLineups
July 28, 2026
Lineup Cards on the Team Page
Reusable lineups now have a home of their own. Open a team, go to the roster, and there is a Lineup Cards panel: build "First choice", "vs LHP", "vs RHP" or whatever you use, name it, and keep as many as you like. Tap Start or Bench beside each player, mark your keeper, save. Until now the only way to create one was inside a fixture's box score, which was backwards for anyone who keeps a lineup card and consults it at the table without ever recording a per-game lineup. Cards are templates, not records — building one changes nothing about any game, and loading one into a fixture is still there when you want it. Nothing is enforced here at all: a card with nine players is as valid as a full one, because it is a note to yourself. Players since traded or released are quietly dropped when you open a card, so an old one never breaks.
LineupsTeamsRoster
July 28, 2026
Match Events — Goals, Cards and Substitutions
Box scores for soccer and hockey now carry a Match Events section: log each goal as its own line — who scored, who set it up, and the minute if you noted it — book a player with a yellow or a red the same way, and record substitutions, who came off and who came on. Everything except which side is optional, including the minute. Own goals get a tick that credits the goal to the other team while keeping it on the right player's record. Logging is never double entry: name a scorer, an assister or a booked player and their totals on the stat sheet fill in to match, so you write each thing down once. The totals stay editable, and a league that never opens the section types them by hand exactly as before — nothing is required of you here. Cards as events also say something a per-game total of "2" cannot: a second yellow is two lines, and what that means for the player is still your call, not the app's. Like the lineup, the section saves on its own button, so writing down what happened never depends on finishing the score, and you can log a fixture you have not entered a result for yet. If the goals you logged do not add up to the score, the app says so and saves anyway — logging the two goals worth remembering from a five-nil is a perfectly good way to keep a season, and this is a record of your table, not an audit of it. The section stays collapsed until you open it, and leagues that never touch it are unaffected.
Box ScoreMatch EventsDisciplineSoccerHockey
July 28, 2026
Discipline — Who Is One Booking From a Ban
The Stats page now carries a Discipline panel for soccer and hockey leagues: everyone currently carrying cards, worst first, with a plain-language line for each — "one yellow from a ban", "reached 5 yellows, a ban is due", "sent off in the latest game". It costs nothing to keep, because it is built entirely from the cards you already enter on box scores; there is no separate card log to fill in and nothing new to remember. Accumulation resets each time the cutoff is reached, the way a real suspension works, so the count always reflects what is owed next rather than a running season total. Nothing is enforced: a ban due is a note, and whether a player actually sits is your call — the same way the app treats a lineup. Leagues that have never recorded a card see no panel at all.
DisciplineStatsSoccerHockey
July 28, 2026
Player of the Match, and Notes for Every Sport
Two things worth remembering about a game, and the two cheapest to write down. Every box score now ends with a Player of the Match picker covering both squads, and a notes field for the story — the turning point, the late drama, whatever you want to recall in a season's time. Both are optional; naming nobody is perfectly normal, and a standout who never troubled the stat sheet can still be named. The notes field is not new, but it used to live inside the period-by-period linescore, which meant only baseball, football and hockey leagues ever saw one — a soccer or basketball league recording a final score had nowhere to write anything down. It now sits under the tabs where every league reaches it, and a plain final score keeps its notes just as a full linescore does.
Box ScoreMatch Honours
July 28, 2026
Lineups — Record Who Actually Played
Soccer and hockey leagues can now write down a lineup for a game, not just a stat line. Open the box score and a new Lineups section sits at the top, above the tabs, with both squads side by side: tap Start, Bench or Out beside each player, mark your keeper, and save. It has its own Save Lineup button and saves on its own, so you can set a lineup for a fixture that has not been played yet, and it never gets in the way of saving the score. As you pick, a live counter reads "1 keeper · 10/10 outfield" for soccer or "1 goalie · 18/18 skaters" for hockey, and anything unusual — two keepers in the XI, nine outfield players, no starting goalie, or a player you have flagged injured — is called out underneath as a note. They are only ever notes. Nothing about a lineup can stop you saving: a nine-a-side friendly and a short bench are real games, and the app is here to record your table, not referee it. Lineups are also named and reusable: save the current picks as "First choice" or "vs LHP" and load them into any later fixture for that team, as many as you like. If someone in a saved lineup has since been traded or released they are simply skipped, with a note saying how many. Once a game has a lineup, the per-team stat pages group the roster into Starters, Substitutes and Rest of Squad instead of one flat list — nobody is hidden, and a scoreless appearance is finally something the app knows about, since stat lines only ever stored numbers above zero. Leagues that never touch the section see no change at all, and any league that tracks players can use it, whatever the sport — a Statis Pro baseball league names a lineup card the same way, just without the keeper counter, since what a legal lineup looks like is the game's business and not ours. Baseball keeps its probable-pitcher system exactly as it is. Fixed alongside this: opening a box score from a team page now uses that league's own settings — its sport, how much detail it records, its period shape and its hockey points system — instead of falling back to football quarters for everybody.
LineupsBox ScoreSoccerHockeyBug Fix
July 27, 2026
Choose How Much of Each Game You Write Down
Every league now decides for itself how much detail a result carries, and it is the same three choices in every sport: record only the result (win, draw or loss, with no score), record the final score, or record the score period by period. The choice appears when you create a league and again in League Settings under Stat Tracking, worded the same way in both places. Keeping score by period is no longer something only baseball, football and hockey were allowed to do — a basketball league can keep quarters and a soccer league can keep halves — and the shape of a game is now yours to pick rather than something the app assumed for you: pro basketball plays four quarters but college plays two halves, and a baseball league can run seven innings instead of nine. The box score follows whatever you picked, right down to what an extra period is called: extra innings, OT, or extra time. Team stats and player stats are still separate switches that sit on top, and they simply step aside when a league is recording nothing but the result. Soccer's old three-way stat setting has been folded into this one, so there is no longer a second switch saying the same thing for one sport. Existing leagues land exactly where they were: soccer leagues that recorded only results still record win/draw/loss, those that entered scores still enter scores, and those that were on the player-stats tier keep their goals, assists, saves and clean sheets — with the ordinary Track Player Stats switch now on for them, so nothing is hidden any more. Baseball, football and hockey keep their linescores with the same columns as always, and every other league keeps entering a final score.
ScorekeepingBox ScoreLeague SetupSoccer
July 27, 2026
Fixed — Player Stats Were Unreachable Outside Soccer
Logging a box score for a baseball, hockey, football, or basketball league had stopped offering the per-team tabs where individual player stats are entered — the score went in, but there was no way to reach the roster and record who scored. The tabs were being gated on a soccer-only setting that had grown from "hide these for soccer's score-only modes" into "only ever show these for soccer," which quietly took the other four sports with it. Every sport now answers the right question: soccer follows its own stat tier, everything else follows the league's Track Player Stats setting. Leagues that only track the score are unaffected, and no data was lost — any stats you entered before are still attached to their games.
Bug FixBox ScoreBaseballHockey
July 27, 2026
Fixtures Know Where and When
Schedule cards now carry the details that make a fixture feel real: the date, an optional kickoff time, and the ground it is played at — on both your schedule and the public league page. Games can carry a venue of their own for neutral sites and one-off relocations; leave it blank and the fixture simply shows the home side's venue, so there is nothing to fill in for an ordinary home game. The Add Game form gained a Kickoff field and a Venue selector to match. Importing a historical season now also builds your venue list for you: every ground named in the season data becomes a real venue on the league, matched to any you already had, so an imported Premier League season arrives with its twenty stadiums attached to the right fixtures. Leagues that never set dates or venues look exactly as they did — the whole strip stays hidden until there is something to show.
ScheduleVenuesHistorical Data
July 27, 2026
One-Tap Player Qualities
Games that describe players with qualities can now offer their own vocabulary as one-tap chips, instead of making you retype the same traits for every player. Soccer Blast leagues get PACE, TOUCH, STRONG, HEAD, KICK, and CARD; tap one to add it, and it disappears from the row once that player has it. The chips are suggestions, never a restriction — the free-text box is still there, so you can invent qualities your game never shipped, and leagues whose game declares no vocabulary look exactly as they did before. The Player Development wizard also picks up the same chips, and now honours your game's real quality limit rather than always capping at two.
PlayersQuick StartSoccer Blast
July 27, 2026
PWHL Fixes — Real Bracket, Crest, and Preset
Three PWHL bugs, all with the same root cause: the app was treating "PWHL" as its own sport when a PWHL league is simply a hockey league, the same way the NHL is. Importing a PWHL season now builds the real PWHL postseason — top 4 qualify, Semifinals and the Walter Cup Final, every round best-of-5 — instead of stamping an NHL-shaped 16-team bracket onto a 6- or 8-team league, and the bracket preview on the create-league form shows that same shape before you commit. The PWHL crest is back at the top of the starter logo picker in Branding settings, followed by the usual hockey pack. And the PWHL structure preset — all eight franchises, no divisions — now appears alongside the NHL preset for any hockey league, so you can build a PWHL league from the preset without importing a season. Existing PWHL leagues also get switched to the PWHL / IIHF points system (regulation win 3, OT/SO win 2, OT/SO loss 1) they should have had, and new PWHL imports start there; as always, the commissioner can change the system in League Settings.
PWHLHockeyPlayoffsBrandingBug Fix
July 27, 2026
Exhibition Games + Hockey Points Systems
Two changes to how the standings table gets built. First, exhibitions: a new checkbox on the Add Game form marks a matchup as an exhibition, which logs through the normal box score and still shows up in Recent Results with a muted EXH badge, but never counts toward the standings or the League Leaders. It is the friendly/sandbox game every sport wanted — try a trade, replay a what-if, test a house rule — without polluting the season. Second, hockey and PWHL leagues now choose how points are awarded in League Settings: Classic (2-1-0, ties allowed — right for a pre-2005 NHL replay), Modern NHL (any win 2, overtime or shootout loss 1, no ties), or PWHL / IIHF (regulation win 3, OT/SO win 2, OT/SO loss 1, no ties). The no-ties systems add a "Decided in — Regulation / Overtime / Shootout" selector to the box score and will not save a drawn score; standings grow OTL (and OTW under IIHF) columns, and an overtime loss shows as its own muted OTL pill in the Form column instead of a plain L. Existing hockey leagues stay on Classic and are unchanged until a commissioner switches; new PWHL leagues start on IIHF. PWHL standings now show a points column. Also fixed along the way: completed knockout games were leaking into group-stage tables in tournament leagues, because the standings query filtered on completed games but not on whether they belonged to a bracket. Every read site now shares one eligible-games rule. Group tables in full-tournament leagues may shift as a result — the new numbers are the correct ones.
StandingsScheduleHockeyPWHLExhibitionsBug Fix
July 18, 2026
Import Historical Wrestling Cards
Recreate real wrestling cards from history and book them into your promotion. A new Import Card button on the Wrestling schedule pulls a card two ways: pick from a curated catalog — starting with a set of 1990 WWF cards (Madison Square Garden, Superstars tapings, and more) — or paste any match list, one bout per line, from any source. Every wrestler, manager, and tag team is auto-matched to your roster, with a name-alias system so ring-name and spelling variants line up ("The Ultimate Warrior" finds "Ultimate Warrior", "Big Boss Man" finds "Big Bossman"). For each person you can link an existing talent, auto-create a new one, or leave the slot blank; managers ride along on a side ("w/ Mr. Fuji") without being counted as competitors, and tag teams are created or reused by their members. Matches import as TBD so you replay history yourself — the real result is kept only as an inert reference: a booked match shows a muted "History: winner def. loser" line to beat, and once you enter your own result it flips to "as it happened" or, if you changed the outcome, "History rewritten." The catalog is game-system agnostic, so any wrestling league — The Squared Circle, Filsinger Games, or your own homebrew — can pull era cards, and venues are matched to your league or created on the fly.
WrestlingHistorical DataScheduleImport
June 26, 2026
Filsinger Games — Champions of the Galaxy, Legends of Wrestling & Indie Wrestling
Three new wrestling game systems are now available when creating a Wrestling league: Champions of the Galaxy (GWF's sci-fi space wrestling universe, 16 sets from the 2087 Original Starter through Promoter Prime 2023), Legends of Wrestling (classic legends from the intro box set through all 15 numbered B&W editions, the full Color Era, Tragos/Thesz Hall of Fame sets, and Promoter Prime annuals), and Indie Wrestling (90 sets spanning Ring of Honor, Evolve, SHIMMER, CZW, Chikara, and annual Best of the Indies releases through 2024). All three share the same Power Points / Quick-Play / Tag Team mechanics as The Squared Circle. The league creation form now shows a grouped-by-era set picker — select the sets you own when starting a league. Roster imports come later once you're set up.
WrestlingQuick StartFilsinger Games
June 17, 2026
PWHL — All Three Seasons Now Available
The Professional Women's Hockey League is now a fully supported sport with all three seasons available for historical import. The 2023-24 inaugural season (72 games, 156 players across 6 teams) and 2024-25 season (90 games, 164 players) include complete game results and full player rosters with positions and birthplaces. The 2025-26 season covers the first 8-team PWHL year — adding the Vancouver Goldeneyes and Seattle Torrent expansion franchises — with all 120 regular-season games and team logos. The PWHL league preset, playoff bracket (Semifinals + Walter Cup Final, best-of-5), and all eight franchises are ready to use.
New SportPWHLHockeyHistorical Data
June 12, 2026
Random Season Builder + NASCAR 75 Track & Race Catalog
The NASCAR 75 Greatest quick start now ships a curated catalog of 32 era-spanning tracks and 36 named races — from the Daytona 500 to dirt-track classics like the Hillsboro 150 — each with track type, location, and a short description. In the schedule builder, picking a track offers its named races to auto-fill the race details, with custom names always available. A new Random Season Builder generates a full schedule from the catalog: choose totally random or a per-track-type mix (dirt, short track, intermediate, superspeedway, road course), optionally anchor a season opener and finale (Daytona 500 to open, Southern 500 to close?), then review every row in the bulk spreadsheet before saving. A dice button on each row re-rolls just that race — keeping the same track type — if you like the season but hate one stop. Eight historic venues were added to the track library, including Occoneechee, Langhorne, and the original Daytona Beach & Road Course.
Auto RacingNASCARQuick StartScheduleVenues
June 8, 2026
Venue / Track Library for Race Scheduling
A new Venue model stores reusable track data for Auto Racing leagues (and eventually other sports). 40 NASCAR tracks, 22 F1 circuits, and 9 IndyCar-specific venues are pre-seeded with attributes like track type, length in miles, surface, and banking angle. When building a race schedule — either one at a time or in bulk — commissioners can pick a track from the library to auto-fill the track name, city, state, and country, while still editing any field manually. Historical imports for NASCAR, F1, and IndyCar now automatically link each imported race event to the matching seeded venue, so the schedule shows real venue data (name, city, state) rather than blank track fields.
Auto RacingNASCARF1IndyCarScheduleVenues
June 6, 2026
NASCAR 75 Greatest Drivers Quick Start + Player Bio Field
A new "NASCAR 75 Greatest" legend pool is available when creating an Auto Racing league. It pre-loads all 75 drivers from NASCAR's 75th anniversary tribute list — each with a biographical card — as a ready-to-use driver field. No race schedule is generated; commissioners can add races or use it as a static pool for any game system. A new Biography text field has been added to all players across every sport.
NASCARQuick StartPlayersAuto Racing
June 6, 2026
F1, IndyCar & MLS Historical Datasets + Playoffs
Three new sports datasets are now available: Formula 1 (2023–2025, 22–24 races per season), IndyCar Series (2023–2025, 16–17 races), and MLS (2023–2025, 510–530 games with Eastern/Western conference structure). MLS leagues support a full playoffs-only mode with the era-correct 5-round single-elimination bracket (Wild Card through MLS Cup). NASCAR now has a Chase / Playoffs Only option that imports just the final 10 championship races instead of the full season.
New SportFormula 1IndyCarMLSNASCARHistorical DataPlayoffs
June 4, 2026
NBA Player Rosters — All 62 Seasons
Basketball historical imports now include full player rosters for 55 of the 62 available seasons (1971–2025). Every player comes with position, jersey number, height, weight, birthdate, birthplace, and a player headshot. The six earliest seasons (1964–70) predate available athlete records.
BasketballNBAHistorical DataRosters
June 4, 2026
Soccer Support
Soccer is now a fully supported sport. Set up leagues using English Premier League data going back to the 2000–01 season, or import FIFA World Cup squads for 2022 and 2026. Standings use the standard football table (W/D/L/Pts) with configurable 2pt or 3pt win systems.
New SportSoccerEPLWorld CupHistorical Data
June 4, 2026
NFL Historical Dataset — 1970–2025
American football leagues can now import full team rosters from any NFL season between 1970 and 2025. All 32 current franchises are covered, including historical city and name variants.
FootballNFLHistorical Data
June 2, 2026
New League Setup Redesign
The create-a-league flow has been rebuilt with the full newsprint design system. Historical import now supports per-section toggles — import just the teams, just the roster, or both.
DesignLeague Setup
June 1, 2026
NBA Coverage Back to 1964–65
Basketball historical data now stretches from the 2024–25 season all the way back to 1964–65, covering every NBA franchise. MLB pitching imports now correctly split starters and relievers.
BasketballNBABaseballMLBHistorical Data
May 31, 2026
Historical Import for All Five Sports
NFL, NBA, MLB, NASCAR, and NHL leagues can all now seed teams and rosters from real historical seasons, with full support for franchises that have relocated or renamed.
NFLNBAMLBNASCARNHLHistorical Data
May 13, 2026
Player Status Redesign
Player availability is now tracked on two independent axes: roster status (Active, Injured Reserve, Minor Leagues, Released) and health (Healthy, Day-to-Day, Injured, Fatigued). A Minor Leagues section appears on baseball rosters. Injured players retain their slot assignment when placed on IR.
PlayersRoster Management
May 10, 2026
Pitcher Probable System
Baseball leagues can now set probable starters for upcoming games and build rotation chains that advance automatically. Pitchers accumulate fatigue based on games pitched, and the schedule surfaces availability warnings on game day.
BaseballSchedulePlayers
May 9, 2026
Newsprint Design System
Total front-end redesign. The dashboard, standings, and schedule pages have been rebuilt with the Cardboard Commish newsprint system — high-contrast typography, editorial column layouts, and a three-column league overview. Deep linking to any box score is now supported via the ?game= query param.
DesignDashboardSchedule
May 4, 2026
Unified Box Score Dialog
Linescore entry and full box score stats have been merged into a single dialog. Baseball box scores now show separate hitting and pitching tabs, with automatic SP/RP classification and pitcher stat rules (no goals/assists for goalies in hockey, etc.).
Box ScoreBaseballHockeyStats
April 30, 2026
Sport-Aware Scheduling & Playoffs
The schedule builder now adapts to the sport — series mode for baseball, single-game weeks for football, race events for NASCAR. Playoff brackets can be created independently of the regular season, and standings columns shift automatically per sport (PCT/GB for baseball, PTS/T for hockey).
SchedulePlayoffsStandingsBaseballHockeyFootball
April 18, 2026
League Structure & Team Starter Packs
Leagues can now be pre-populated with era-correct conference and division structures for the NFL, NHL, NBA, and MLB. Team starter packs ship with logos, city assignments, and division placement so you can have a full 30-team league in minutes.
League SetupTeamsNFLNHLNBAMLB
April 8, 2026
Paper & Ink Design System
First design pass: a high-contrast light-mode UI built around the newsprint metaphor that defines the app's visual language. Conferences, divisions, and standings hierarchies were introduced alongside it, plus the first automated season scheduler.
DesignLeague SetupStandingsSchedule
April 7, 2026
First Drop — Cardboard Commish MVP
Initial release. Create leagues, add teams, manage a player pool, build a schedule, and enter scores. Built on Next.js, Prisma, and Supabase, with a fully flexible stats schema that lets each game system define its own scoring rules.
Launch