Version History
What's shipped on The DOLF, and when -- newest first.
v2.20.1
2026-10-15Bug Fix
- Week 6 Primer now opens on the league's top storyline instead of one player's practice status, and future primers can't lead with a single player's injury question.
v2.20.0
2026-10-13Feature
- New Rosters tab on In Season: pick a manager and a week to see the exact lineup he played, with bench and IR, each player's points, and the matchup result.
- New Rosters by Week page under Archives, covering every season from 2018 on, with playoff and consolation weeks labeled.
- Every rostered player now shows his NFL opponent that week (or BYE).
Bug Fix
- Switching seasons on Rosters by Week now keeps the manager you were looking at.
- The In Season Medals week picker now lists the most recent week first.
v2.19.0
2026-10-12Feature
- Weekly Primers lean much less on injury news: at most one player's status per post is treated as swinging a matchup, and only when he's a major contributor.
- Early-season Weekly Primers (through Week 6) talk about streaks, rivalries, hot and cold teams and the division picture, with the playoff race mentioned once instead of everywhere.
- Weekly Primers now call out bye weeks when an elite player is sitting — a top-5 quarterback or a top-10 running back or receiver.
- Weekly Primers can now point out when a manager's scoring doesn't match his record, like a team near the top in points with a losing record.
v2.18.2
2026-10-06Bug Fix
- The Tuesday score pull and Weekly Recap now run a few minutes past the hour, so GitHub's dropped scheduled runs stop delaying the weekly recap.
- Fixed new posts (Weekly Recaps and Primers) failing to generate after the last update.
v2.18.1
2026-10-01Bug Fix
- The Weekly Primer now publishes Thursday afternoon, with automatic retries, instead of relying on a single evening run that could be skipped.
- Fixed generated posts occasionally failing to publish after being written.
- Weekly previews no longer treat a player's current bench spot as a final lineup decision, and no longer misstate who's the only winless or unbeaten team.
v2.18.0
2026-09-29Feature
- The site now has privacy-friendly visitor analytics: no cookies and no personal data.
v2.17.2
2026-09-29Bug Fix
- Brad's favorite team on his profile now reads "Bears (and Browns)".
- Week 3 recap corrected: Dave had nobody playing Thursday rather than taking a donut, J.K. Dobbins is framed as Bubar's likely starter going forward, Kyle's miss is starting two tight ends with Luther Burden on his bench, and Brock Bowers' big game was in the afternoon.
- Week 3 Power Rankings: corrected blurbs for Mike, Richie, Kyle and Brandon.
- Weekly Recap: a manager with nobody playing yet is never said to have taken a donut, a starter lost to injury is followed by the manager's own lineup call rather than an invented NFL backfield change, and two-tight-end lineups are called out as such.
- Power Rankings: blurbs no longer knock a backup defense, kicker or tight end on the bench, and scoring streaks are counted correctly without losing sight of a big week.
v2.17.1
2026-09-29Bug Fix
- The Tuesday Weekly Recap now publishes as soon as that morning's scores are final, instead of waiting on a scheduled job GitHub sometimes starts hours late (Week 3's recap had to be sent by hand).
v2.17.0
2026-09-25Feature
- Position Leaders Manager View: a Total / Per Start toggle. Per Start divides by lineup starts, so managers with fewer seasons compare on equal footing, and the strips now span the league's range instead of starting at zero.
- Position Leaders: a Flex Starts column on the RB, WR and TE tabs — how often a manager started a third RB or WR, or a second TE, whichever slot the player sat in.
- Manager View captions for RB, WR and TE show that manager's flex starts.
v2.16.0
2026-09-25Feature
- New Position Leaders page under Analytics: starting-lineup points by QB, RB, WR, TE, K, D/ST and Total, all-time or by season, regular season or playoffs (winners bracket only).
- Position Leaders Manager View: pick a manager to see where he ranks at every position and how far he sits from the leader, with hover/tap details on every dot.
- RB, WR and TE points scored from a FLEX slot count toward the player's position; there is no separate FLEX category.
- The Total tab uses final matchup scores back to 2016, so it always matches All-Time Standings. Position splits start in 2018 (ESPN doesn't expose earlier lineups).
- The six position King records on manager profiles now link to the Position Leaders page.
Bug Fix
- Position King records (QB/RB/WR/TE/K/D/ST King) now count regular-season games only. RB King moves from Richie to Brandon and D/ST King from Brandon to Kyle.
- Starts are credited by lineup slot, so Taysom Hill's QB starts no longer count as TE.
v2.15.0
2026-09-24Feature
- Weekly Primer only cites playoff or Sacko odds in the one or two matchups a week where a single result swings them dramatically (25+ points), instead of in every matchup.
- Weekly Primer assumes managers will swap out starters who are ruled out, on bye, or projected for zero. It only calls one out when the manager has no healthy backup on his roster and has to make a pickup.
- Weekly Primer can note a genuine game-time decision (a key starter who missed practice with an injury). It never reads that from a Questionable tag alone.
- Weekly Recap now calls out any manager who started a player ruled out ahead of time.
Bug Fix
- Injury tags now come from the current week's report only, so players who've recovered from an earlier injury no longer read as hurt.
- Corrected the Week 3 primer: removed odds figures from every matchup and lines about ruled-out starters.
v2.14.0
2026-09-23Feature
- Lineup talk across every post type now only compares players who could legally swap into each other's spot. Out and Doubtful players are never start options.
- Weekly and Playoff Primers carry at most one real close call per manager, marking genuinely tough ones.
- The Weekly Recap's bench-mistake jabs come from a computed list of legal, healthy, genuine coin-flip misses.
- The Trade Grader and Power Rankings see who's actually starting and who's unavailable, not just roster counts.
- Adds the "tinkering" / "Tinkerbell" league-voice terms.
Bug Fix
- A rest day no longer counts as an injury.
v2.13.0
2026-09-22Feature
- Weekly Primer now calls out notable waiver moves — big FAAB spends (15%+ of the budget), a manager spending his entire FAAB budget, and QB/TE pickups starting that week — at most two per post.
- Weekly Primer only names a favorite when ESPN's projection is lopsided (75%+) or a manager is missing most of his usual starters to byes and injuries; "coin flip" framing is retired.
v2.12.0
2026-09-22Feature
- Medals tab on In-Season now has a week filter, and each medal lists every week it was earned instead of just the latest.
- Weekly recaps now account for NFL game timing (Thursday head starts, Monday-night finishes).
Bug Fix
- Weekly recaps no longer call a team eliminated (or clinched) before it actually is, and no longer claim a manager is stuck starting a player.
- Corrected the Week 2 recap: Kyle isn't eliminated, and the Brandon–Vick writeup now reflects Dart's early Monday-night exit.
v2.11.0
2026-09-19Feature
- Records on manager pages now have an ⓘ you can tap to see what each one means, same as medals, including the Rivalry King and Kryptonite callouts.
Bug Fix
- Glossary definitions rewritten in plain language, and Hall of Fame and Hall of Shame leaderboards (already explained on those pages) removed from it.
- Record names on manager pages now match the Glossary (e.g. "QB King" instead of "Most Career QB Points").
v2.10.0
2026-09-17Feature
- New Top Monthly Scorer accolade: whoever has scored the most points so far this month wears a pizza-slice badge on their avatar, and when the month closes the winner keeps it as a medal. Awarded for September, October, November, and December, regular season only, starting in 2026.
- Weekly Primers have a new shape: a short opener, all five matchups with what each game actually means for the standings and playoff race, and a closer on the tightest race in the league.
Bug Fix
- Weekly Primers only call out injuries that matter: players who are out, doubtful, or not practicing. Limited participants get a single mention at most, and questionable players practicing in full aren't mentioned at all.
v2.9.0
2026-09-16Feature
- The Season Snapshot schedule now uses compact scoreboard rows, with each manager's record going into that week shown beside their name — a full week fits on one phone screen instead of scrolling.
Bug Fix
- Manager pages show a "Current standing" for a season still being played, instead of describing it as a final finish.
- Season-long records, trophies, Hall of Fame/Shame and the Goose Counter now only count finished seasons, and weeks that haven't been played no longer count as gooses.
- Weekly posts no longer fail to generate when the writer needs a longer working budget; a run that runs out of room now retries once before failing.
v2.8.1
2026-09-16Bug Fix
- Transaction history no longer shows lineup moves as blank Drop rows — the 2026 season's start/bench changes are skipped instead of listed as drops with no player.
- Dropped players missing from roster snapshots now show their real name, position, and NFL team instead of a placeholder ID.
- Waiver claims now appear on the Transactions page the morning they process instead of up to a week later.
v2.8.0
2026-09-15Feature
- Weekly recaps now end with a "Gooses Owed" section listing every started player who scored zero or negative that week, including the Week 1 recap.
- The Blowout medal has a new standalone flame icon, shown in Medal Collections, Records Held, the Glossary, and the Season Snapshot.
Bug Fix
- The Glossary now shows icons for Most Regular Season Titles and Most Runner-Up Finishes instead of empty placeholder boxes.
v2.7.1
2026-09-15Bug Fix
- In-season medals (Best Bench, Luckbox, Snakebit, etc.) no longer appear on the Medals tab mid-season; they're awarded once the season is complete.
v2.7.0
2026-09-15Feature
- Generated posts and Power Rankings now judge each manager only on the score they put up: a lopsided loss or a narrow win is no longer held against anyone, and a strong score in a loss is called bad luck.
- Power Rankings weigh how each team's weekly scores would have done against the whole league, and only call a record lucky or unlucky when those scores say so.
- Weekly recaps now know where every manager's score ranked that week, so a loser with one of the week's best scores gets framed as unlucky instead of roasted for the margin.
- The post checker now flags a recap that blames a margin on a manager who scored in the top half of the league that week.
- Recaps and Power Rankings no longer roast a player who left his game early, or the manager who started him; public snap counts spot the early exit, and the post checker flags a recap that mocks one anyway.
- All of this runs on existing league data and public NFL snap counts, with no added AI generation or search cost.
Bug Fix
- One Week 1 Power Rankings blurb now cites playoff odds instead of a simulation.
- The Week 1 recap no longer mocks a quarterback who was concussed early in his game.
v2.6.0
2026-09-15Feature
- New Medals tab on the In Season page shows every manager's medals for the current season, with a quick good/neutral/bad tally and tap-to-expand details.
- Manager pages can switch the Medals section between career totals and the current season.
Bug Fix
- Medal details no longer show long unrounded point values (e.g. a Goose at -0.5 pts).
v2.5.0
2026-09-15Feature
- Every generated post is checked against real results before it's emailed; simple mistakes are corrected automatically and anything else is flagged for review.
- Posts no longer cite simulation counts.
- Big and bad weeks are described in plain language instead of standard deviations.
- Tuesday recaps wait for the week to be final, with late-morning backstop runs if the early pull is too soon.
- New manual resend action for a post whose email failed to send.
Bug Fix
- Recaps now name each matchup's winner explicitly, so a recap can no longer flip who won the way Week 1's briefly did.
- Week 1 recap cleaned up to match the new house style.
- Player reference data refreshes again in the weekly pipeline.
- Season Kickoff timing no longer breaks on draft dates that include a time.
v2.4.1
2026-09-15Bug Fix
- Tuesday's weekly score update now runs at 5 AM ET, and the Weekly Recap at 6 AM ET. On 2026-09-15 the earlier run pulled Week 1 before ESPN had finalized it, so every Week 1 matchup briefly showed as undecided with zero points.
- The weekly score update now stops with an error, instead of publishing, if the week that just finished still isn't final on ESPN. An unfinished week can no longer quietly overwrite real results on the site.
- Playoff and Sacko odds no longer swing wildly after one or two games. A team's own scoring isn't counted until it has played three games, and the odds are now calibrated against ten seasons of league history. After Week 1, every 1-0 team sits around 67-70% to make the playoffs and every 0-1 team around 49-52%, instead of ranging from 11% to 89%.
v2.4.0
2026-09-11Feature
- The Weekly Primer now describes players using real NFL data instead of the model's own recollection — every player it writes about carries his actual current NFL team, his real role on that team (lead back, sharing a backfield with a named teammate, or somebody's backup), and his real injury status, all pulled fresh each week.
- Weekly Primer matchups now say where the game actually stands, using ESPN's own projected totals and win probability. Anything from 45% to 55% is called a coin flip rather than given a fake edge; a real favorite needs 56% or better.
- The Weekly Primer now names the genuinely close start/sit decisions on each roster, worked out from ESPN's player projections rather than picked by feel — and tells you which lineups lock first, because it knows each player's real kickoff time (Thursday, early Sunday, Sunday night, Monday, or a bye).
- From Week 3 onward, the Weekly Primer can say what a win or a loss would actually do to a manager's playoff and Sacko odds, instead of only quoting where they currently sit.
- Injury reporting now distinguishes a player who did not practice at all from one who was limited, and treats full participation as no injury at all — so a healthy player with a listed bump is no longer written up as banged up.
Bug Fix
- The Weekly Primer no longer uses a player's depth-chart position as a verdict on how good he is. A team's second receiver is often an excellent fantasy starter, and the post previously read those rankings as a knock ("hardly a murderer's row") and, in the same post, as praise.
- The Weekly Primer no longer refers to which fantasy roster slot a player sits in. A lineup decision now reads as simply "X or Y", since managers routinely park whichever player they like in a flex spot to keep their options open.
- Draft steals and reaches are mentioned by name only — no more pick numbers, round numbers or ADP figures scattered through the post, and no more comparisons of which pick was better value.
- The Weekly Primer no longer states league-wide counts it worked out itself; the numbers are now computed for it, after a draft claimed six managers faced three close calls when the real number was nine.
- The Weekly Primer no longer runs long. It now has a hard length limit, and an over-long draft is trimmed rather than rewritten from scratch, which keeps the sentences that were already right.
- A generated post that comes back empty is now caught and retried, and fails loudly rather than ever publishing a blank post. **Known issues:** `client.generate()` is non-streaming, which caps it at roughly 20,000 output tokens per turn; under bad luck a generation can still come back empty. It now fails loudly instead of publishing nothing silently, and the search budget was cut to make it less likely. Converting that call to the streaming API is the real fix and is tracked in `TODO.md`.
v2.3.2
2026-09-09Bug Fix
- The trade deadline and playoffs countdowns on the homepage now take up far less space on phones, showing the time remaining on a single line instead of a stack of tiles.
v2.3.1
2026-09-08Bug Fix
- Entry Fees & Payouts now shows the league's actual payout amounts — $1,800 for first, $800 for second, $400 for the regular season champion.
v2.3.0
2026-09-07Feature
- Draft Insights callouts are now a single short sentence per table instead of a longer blurb, with full methodology still available for reference.
- `/in-season` is now split into two labeled sections, "Current Standings & Projections" and "Content."
- League Rules now has its own nav dropdown, with standalone Entry Fees & Payouts and Keeper Eligibility pages (Entry Fees & Payouts listed first).
Bug Fix
- Player names that start with a manager's name (like "Kyle Pitts Sr.") are no longer highlighted as if they were a mention of that manager.
- The 2026 Draft Recap now lists every manager's keeper in one consistent place.
- Corrected two 2026 preseason Power Rankings blurbs.
v2.2.0
2026-09-07This entry consolidates a single day's release batch, originally shipped as several separate versions.
Feature
- The full 2026 draft board is live (all 16 rounds, 160 picks), with draft-day value/reach insights now available for the season — scoring accounts for keepers being off the board rather than a raw redraft ADP.
- A new Season Snapshot on `/in-season` shows the current season's standings, schedule, and playoff odds at a glance.
- The Keeper Board moved to `/rules` and an `/in-season` tab, showing each keeper's acquisition context and cross-linking between the two pages.
- A new `/season-standings` page shows per-season regular-season standings for any past season.
- Generated weekly posts now include playoff-odds callouts.
- The `/in-season` page header now reflects the live season state on mobile as well as desktop.
- Added a 2026 draft cameo for Rodrigo Blankenship.
Bug Fix
- Fixed a fake playoff picture appearing before any games had been played (Week 0).
- The keeper eligibility note now correctly names the upcoming season it applies to.
- Removed a duplicate eligible-keepers block that was appearing twice on manager profile pages.
- Cleaned up redundant labeling and legends on the Keeper Board's tabs.
- Reordered the League Records navigation section to match the intended layout.
- Fixed the homepage hiding the preseason power rankings and draft recap for the gap between draft day and Week 1 — both now display starting the day of the draft instead of waiting for the in-season window to open.
- Fixed the homepage and In Season feed showing 2026 Season Kickoff above the newer 2026 Draft Recap — season-level posts now sort newest first, matching the rest of the feed.
- Fixed the preseason power rankings' rank-number color disagreeing with its gold Tier 1 band whenever Tier 1 isn't exactly three managers deep — the highlight now follows the tier instead of a fixed top-3 cutoff.
- Fixed a version's summary paragraph on `/changelog` being cut off when it wrapped onto a second line, and rendering italic markers literally instead of as styled text.
v2.1.1
2026-09-06Bug Fix
- Weekly Recap no longer fails with an error on a Tuesday when no week of the season has actually completed yet (e.g. the first Tuesday after the season opens, before Week 1 has been played) — it now quietly skips that run instead.
v2.1.0
2026-09-04Feature
- The 2026 Season Kickoff post is live on the homepage and the `/in-season` feed.
- Player pages now pull team and roster info from a new data source (nflverse), restoring accurate historical team assignments across the site.
- Trade history now includes previously-missing one-sided trades from 2019–2025, reconstructed from roster records.
- The Rules page got a facelift: a live trade-deadline countdown, the "Dolfoffs" rename, lineup slot chips, and jump navigation.
- Trade grades now show separately for each side of a trade, backed by a new trade recap post type that cross-links back to the original trade.
- The homepage now shows live countdowns to the trade deadline and the start of the playoffs during the season.
- League members now get an email alert when a new post goes up, including that week's Power Rankings.
Bug Fix
- Fixed in-season post dates rendering a day early for West Coast readers.
- Fixed the Goose Counter drilldown and the transactions/trade-analysis tables scrolling sideways on mobile.
- Corrected the 2019 draft record: Mike Williams was Bush's actual round-6 pick.
- Fixed several accolade/badge display bugs so trophy names, roster completeness, and standings placement all match what the site shows.
- Hall of Shame season and career leaderboards are now capped at 5 rows each; the Most Gooses list now sorts by count instead of by year.
- Cleaned up stray citation tags appearing in trade grader text and widened the trade analysis panel to full width.
v2.0.0
2026-09-01The DOLF's first major release -- a full visual redesign, real manager identities, a new In Season content hub, rebuilt League Records pages, a completed accolades system, and a content engine that now covers the whole season on autopilot.
Look & Feel
- New gold-and-amber color palette replaces the old emerald green across the entire site, with a warmer neutral background scale to match.
- New three-font type system: Space Grotesk for headlines, Inter for body text, and JetBrains Mono for stats and tables, so numbers line up cleanly in every column.
- Site crest redrawn in the new palette, now reads "EST. 2016" (the league's actual founding year) and is far more legible at every size.
- New favicon cropped from the crest's trophy and football.
- Crest laurels redrawn with real leaf shapes, and the OG link-preview image regenerated to match.
- Homepage hero gained a subtle field-grid backdrop and a larger, tighter wordmark.
- Every manager's name is bolded and colored wherever it appears in a recap, primer, or kickoff post.
Navigation & Mobile
- New hamburger menu on phones and tablets, replacing the old nav that wrapped onto multiple lines; sections collapse and expand independently.
- "In Season Content" is now the first item in the nav with its own accent color.
- Dropdown menus now render above sticky page elements instead of behind them.
- Removed a stray divider above Tall Guy in the managers nav dropdown and mobile menu.
Homepage
- New "View Current Season Content" button below the draft countdown, leading to the In Season page.
- New Latest Content section shows the most recent recap, primer, or kickoff post in full.
- Power Rankings only appear during the season, so last year's final ranking no longer lingers all offseason.
- Fixed a subtle timing bug in the draft countdown that could cause it to re-render unnecessarily.
Manager Profiles
- Every active manager now has a real custom portrait, shown everywhere their avatar appears -- the homepage grid, the Managers page, All-Time Standings, and Power Rankings.
- Click a manager's card to flip it over in 3D and reveal their alter-ego portrait, alter-ego name, and bio.
- Profile hero redesigned into a two-column dossier: identity card on the left, all-time stats on the right, with the page widened to fit.
- New points-by-season chart showing points for (gold) and points against (red) every season, with a hover tooltip carrying totals, per-game averages, record, and finish.
- New Favorite Team field on every active manager's identity card.
- Reigning champion and reigning Sacko are now marked with a status banner along the bottom edge of their avatar instead of a colored border.
- Hot and cold streak badges appear in the corner of a manager's avatar during the season (On Fire, Heating Up, Cold Streak).
- Team MVPs now show only players who outperformed the league average at their position, with a clearer empty state when nobody did.
- Non-playoff finishes (7th through 9th) are now ranked by regular-season record and points, not the consolation bracket.
- Regular Season Champion is now an independent secondary tag rather than competing with a manager's actual finish, and a season with only regular-season data no longer shows a bare "RS" as though it were a placement.
- Trophy Case, Medal Collection, and Records Held icons enlarged, with the medal count moved onto its own line.
In Season Content (new page)
- New /in-season page: one scrolling feed of every weekly recap, weekly primer, power rankings week, season kickoff, draft recap, playoff primer, and season recap, filterable by season and post type.
- Every entry is collapsible and has a stable link, so a specific week's recap can be shared directly.
- Each post shows its posted date.
- Power Rankings rebuilt as a table with tier bands, a Record column, and a trend indicator, with titles that name the week.
Hall of Fame & Hall of Shame
- Hall of Fame rebuilt around a sticky pennant rail (one per season, most recent first) and a filterable Record Vault of career, single-season, and single-game cards.
- Hall of Shame rebuilt the same way, with its own Sacko pennant rail and negative-polarity vault.
- Best and Worst Single-Season Record and Most and Fewest Points in a Season cards now list a Top 5.
- All-Time Standings splits active managers from former managers, with ties now broken by points for and then championships, and its rank and team columns now stay pinned while the table scrolls sideways on a phone.
- Card titles clarified, redundant descriptions trimmed, and the Goose Counter link on Hall of Shame is now a prominent red button.
- Fixed runner-up lists overflowing their column on phones.
- Every record holder now shows the season or week beneath their name rather than only in the card's corner.
- Best Individual Week descriptions and runner-up labels shortened, dropping position and NFL team.
Draft History
- Draft-day value and reach scoring rebuilt: no more inflated scores at the top of round one, no more late-round noise counting as a reach, and tiny gaps under three picks are ignored.
- Quarterbacks now only count as a "value" with a top-8 positional ADP rank and a 30-plus pick fall; kickers and defenses are excluded from the value list.
- Draft Insights now lists all ten managers every season, showing a dash for anyone without a notable pick.
- Future drafts can now be scored against real FantasyPros ADP data as soon as each season's export is loaded.
Accolades, Medals & Glossary
- 29 new custom icons, so every trophy, record, medal, and status now has its own artwork with the gold, steel-blue, or crimson gradient matching its polarity.
- New Hat Trick medal: a non-quarterback starter scoring three or more touchdowns in a week, backfilled across 2018 to 2025.
- Lucky Break, Least Points in a Win, and Best Bench reclassified as neutral rather than negative; Runner-Up and Bridesmaid reclassified as positive.
- Draft Day Genius renamed Draft Day Steal.
- Glossary gained a jump nav (Trophies, Records, Medals, Statuses), section dividers, larger icons, and tightened descriptions; the League Accolades section moved off the page since every entry already lives on the Hall of Fame and Hall of Shame.
- Reigning Champ, Reigning Sacko, and the three streak statuses are now live glossary entries instead of "coming soon."
Content Engine & Automation
- Two new post types, Playoff Primer and Season Recap, wired into the feed and scheduled to run automatically after Week 14 and Week 17.
- Season Kickoff, Weekly Recap, Weekly Primer, and Draft Recap prompts retuned from a full sample review: no throat-clearing intros, no restated standings, "the Dolf" and "the Ship" used correctly, and every active manager guaranteed a mention in Kickoff and Draft Recap posts.
- Weekly recap matchup headers now carry the correct all-time head-to-head record.
- Power Rankings blurbs capped at twelve words and no longer restate the win-loss record already shown in the table.
- Season dates now live in one config file, so the pipeline's in-season window updates in one place each year.
- API costs cut substantially through prompt caching, a trimmed seed corpus, and lower web-search limits.
Bug Fix
- Fixed the /changelog page cutting off any bullet that wrapped onto a second line.
- Fixed a Goose Counter back-link pointing to the wrong route.
- Fixed the Hall of Fame runner-up rows listing the season before the manager.
- Fixed table headers wrapping mid-word on narrow screens.
- Fixed the manager flip card clipping on iOS Safari.
- Fixed stat tiles sitting at different heights when a label wrapped.
- Fixed several stale green-tinted tokens and crest colors left over from the old palette.
- Fixed stale accolade statuses that hid Bridesmaid from the glossary and dropped rows that should have stayed.
- Fixed Least Points in a Win displaying as neutral despite its negative intent and crimson artwork, along with the medal sort order its drift had knocked out of sequence.
v1.24.1
2026-08-21Bug Fix
- Fixed the homepage Power Rankings section showing leftover test data from a past season instead of the pre-season placeholder.
- Fixed the weekly content pipeline so it only runs during the fantasy season -- it previously had no in-season guard and could have kept running into the offseason -- and corrected this season's game-day scheduling references (the fantasy playoffs run Weeks 15-17, ending after Week 17 Monday Night Football on 1/4/2027) across the content calendar.
v1.24.0
2026-08-21Feature
- New Power Rankings section on the homepage — every manager ranked 1–10 each week, with an AI-generated blurb, tier groupings, and how far they moved from the previous week.
- The content engine can now also generate Draft Recap and Weekly Primer posts, plus a preseason Power Rankings baseline off the draft results — pipeline work, since no public recap-post feed page is live on the site yet.
- Weekly Recap posts now ground playoff-standing, clinch, and elimination claims in real computed data, and got another round of voice cleanup (tighter language, cleaner injury notes, no shouted emphasis).
Bug Fix
- Fixed the Trade Counter showing a phantom zero-trade count for seasons before a manager joined the league or after they left.
- Moved Transactions History out of the top-level nav and into the Archives dropdown, leading that list.
v1.23.0
2026-08-20Feature
- Weekly Recap and a new Season Kickoff post type can now generate automatically on a schedule (GitHub Actions) instead of by manual trigger, and both now write in a tighter, more comedic league voice with cleaned-up terminology — the recap feed page itself isn't live on the site yet, so this is pipeline work ahead of that page shipping.
- Closed out manual review of the 2016–2021 draft board: filled in the last two missing picks and three missing draft dates, so Draft History is now fully verified for every season.
- Career K and D/ST scoring records now show on Records Held and in the Glossary, alongside the other position records.
Bug Fix
- The "Managers" nav item's text is now clickable, linking straight to the dedicated Managers page, in addition to the dropdown it already opened.
- Removed a leftover subtext line under the Draft History and Managers page headings.
v1.22.0
2026-08-19Feature
- Weekly recap posts can now be AI-generated in the league's own voice, trained on real posts pulled from league history, with safeguards to keep the generated writing clean and football-savvy even when the source material isn't.
- Added an AI trade grading engine for 2026 and later trades — a letter grade and rationale now show on Transactions History.
- New Draft Cameos page, spotlighting the celebrities who've announced the league's draft order each year, reachable from a new Archives menu (which also now holds Draft History).
- The Managers page is back, with bigger tiles and a quick stat summary (championships, career record) for each manager.
- Sacko now shows as a trophy on manager profile pages, alongside the other season trophies.
Bug Fix
- Fixed a label collision between the career and single-season "Most Points Scored" records on manager profiles.
- Y Against X now shows former/inactive managers below a divider instead of mixed in with active ones, and sorts opponents by average scoring margin instead of career wins.
- Removed a leftover "Archived" label from the manager menu for former managers.
- Best Bench is now shown as a neutral stat instead of implying it's a bad thing.
v1.21.0
2026-08-19Feature
- Added 8 new career-level Records (career win percentage, and career points scored by position), with 6 of them now showing on manager profiles and the Glossary.
Bug Fix
- Glossary entries now sort consistently across every accolade type (Trophies, Records, League Accolades, Statuses), not just Medals; added the previously-missing DOLF Champ and Sacko entries to the catalog (Sacko is now categorized as a Trophy), and cleaned up several accolade descriptions.
- Glossary page copy cleanup: renamed "The big picture" to "Accolade Definitions," shortened the tier definitions, removed the League Accolade explainer, simplified the Records Held definition, and other small wording fixes.
- Renamed "All-Time Records" to "All-Time Standings" in the nav and page title, and removed a redundant page subheader.
- Reordered homepage sections so Managers now appears first.
v1.20.0
2026-08-19Feature
- Added a persistent staging environment (`dev` branch, deployed to staging.thedolf.com) for QA review before changes go live on the production site, protected by a login prompt so it stays private.
- The weekly data pipeline is now real: every Tuesday after all that week's games finish, the site automatically pulls fresh ESPN data, rebuilds its database, regenerates every stat, and pushes the update live — no manual steps.
- Medals now display in order of how impressive they are, and the Glossary page gained a list view alongside its existing layout.
- Glossary cleanup: removed a redundant "(Status)" suffix from Status entries, added a missing description for the Status category, and added new Status entries (Reigning Champ, Reigning Sacko, Cold Streak, On Fire, Heating Up).
- Draft pick history now correctly backfills each pick's position and team.
- Fixed the Ricky Bobby and Lucky Break medals, reversed an incorrect streak-reset behavior, and added a new Runner-Up trophy, a new Bridesmaid record, a visual border for reigning-status badges, and a new Least Points in a Win medal.
- A manager's current-season card on their profile page now stays hidden until roughly a week before Week 1 kicks off, using the real NFL schedule instead of a guessed date.
Bug Fix
- Fixed a bug where preseason placeholder standings (ESPN's "not yet determined" rank of 0) could have been mistaken for real results — this could have caused phantom playoff credit, incorrect Hall of Fame entries, "Finished 0th" cards on manager profiles, and mislabeled data-completeness notes. No live data was ever affected; caught and fixed before the 2026 season started.
v1.19.1
2026-08-18Bug Fix
- Fixed a bug where the Iron Man, Boom or Bust, and Best Bench medals were being awarded once per week instead of once per season, badly inflating some managers' career counts (e.g. Best Bench had been recorded ~31 times for one manager).
- Removed the Season High, Season Low, Points Leader, and Cold Streak medals — they didn't fit the medal model (Cold Streak in particular was more of a status than something you win).
- On manager profile pages, Seasonal Medals now display before Weekly Medals, and medals within each group are ordered positive-to-negative; the descriptive text under the "Medals" heading was also removed. _Categorization note: this batch is corrective (bug fix + medal removals + a display reorder) rather than new capability, so it's tagged as a Bug Fix / PATCH release — flagging in case Brandon would rather treat the removals as Feature-level._
v1.19.0
2026-08-18Feature
- New Glossary page (/glossary) defining Trophies, Records Held, and Medals, plus an itemized reference list for every active/coming-soon accolade on the site. Linked from the footer.
Bug Fix
- Medal definitions on manager profile pages are now tap-to-reveal instead of hover-only, so they work on mobile.
v1.18.1
2026-08-18Bug Fix
- Manager profile pages: the "Collection" section is now called "Medals," with a short description, and its badges are split into "Weekly Medals" and "Seasonal Medals" groups instead of one flat grid; the always-visible per-badge subtext line (week/season) was also removed.
- Removed the Hot Streak badge entirely (Cold Streak is unaffected).
- Three badge names finalized: "Top Dog" (no longer a placeholder), "Shoulda Shoulda" (was "Shoulda Shoulda Started Him"), and "40 Bomb" (was "Forty Bomb").
- The All-Time Head-to-Head table no longer shows an "Archived" label next to a former manager's name — the demoted styling and divider are unchanged.
v1.18.0
2026-08-18Feature
- Manager profile pages gained a new "Collection" section showing every badge a manager has ever actually earned, with how many times they've earned it — separate from the existing weekly/season leaderboards, which still show who currently holds each one.
- 13 new weekly badges: Forty Bomb, Burger, Whopper, Trash Picker, Close Call, Ricky Bobby, Goose, Lucky Break, Domination, Low Scorer, Messi, Defense, and Top Dog.
- "Shoulda Shoulda Started Him" is now a real, computed badge (a bench player whose swap would have flipped that week's loss into a win) instead of an excluded placeholder.
- Badges are now tracked historically, not just shown for the current week/season — every badge ever earned, going back to 2016 where the underlying data supports it, has been counted.
v1.17.0
2026-08-17Feature
- The footer's "Changelog" link is now labeled "Version History" (same page, same link).
- Manager profile pages now show up to six more records when a manager holds them: best individual starting-lineup week, and biggest win and biggest loss, each split into regular season and playoffs.
- Hall of Fame and Hall of Shame each gained a "Weekly extremes"/"Weekly lows" section showing the top 5 (Hall of Fame) or bottom 5 (Hall of Shame) single-week scores ever, for both whole teams and individual players, split into regular season and playoffs.
v1.16.0
2026-08-17Feature
- An inactive former manager's row on the All-Time Head-to-Head table now shows at the bottom, below a divider and tagged "Archived," instead of being left off the table entirely — corrects last release's Head-to-Head table behavior specifically; Rivalry King/Kryptonite badges and the Best/Worst Record Against callouts still don't show an inactive manager at all, unchanged.
v1.15.0
2026-08-17Feature
- Manager profile pages' All-Time Head-to-Head table now shows a Win % column and sorts alphabetically by opponent, so a specific matchup is easy to find.
- An inactive former manager no longer shows up in every other manager's Rivalries, Head-to-Head table, or Rivalry King/Kryptonite badges — only on their own profile page, where their full history is still shown.
- Manager profile pages now show that manager's keeper pick for a season, once keeper data exists (2026 is the first eligible season) — no visible change yet since no keeper picks have been entered.
Bug Fix
- Fixed a data bug where every draft pick on a manager's profile internally showed as "not a keeper" even when it was — had no visible effect on the site, since that data isn't displayed anywhere yet.
v1.14.2
2026-08-17Bug Fix
- Fixed the site's production deploy command, which had started failing due to a stray, conflicting local configuration file — no effect on the live site itself, but routine deploys are reliable again.
v1.14.1
2026-08-17Bug Fix
- Consolation-ladder (placement/toilet-bowl) games are no longer counted toward head-to-head records, blowout/closest-game records, points records, or goose counts anywhere on the site — only real championship-bracket games count as playoff games, matching how the site's playoff win/loss record was already scoped.
- Manager profile pages' All-Time Head-to-Head playoff columns now match the Snapshot's Playoffs card for the same manager, instead of showing a broader, inflated total.
v1.14.0
2026-08-17Feature
- Added automated nightly ESPN data pulls and a twice-weekly Weekly Primer scaffold (GitHub Actions) — the primer itself is a stub for now, proving the schedule and week-detection work ahead of real content generation.
v1.13.0
2026-08-17Feature
- Every push to main is now automatically checked with a build and lint step (GitHub Actions), catching a broken build before it ships.
v1.12.1
2026-08-17Bug Fix
- All Time Records' 1st/2nd/3rd-place columns moved to the end of the table, after PO Win %, instead of sitting right after Team.
v1.12.0
2026-08-17Feature
- Manager profile pages now have a standalone "All-Time Head-to-Head" section at the bottom, splitting each opponent's record into regular season and playoff columns instead of one blended figure.
- Career "Most Points Scored" moved from Trophy Case to Records Held, since it can be overtaken by another manager.
Bug Fix
- The "By season" section is now called "Season Stats" and no longer shows redundant subtext.
v1.11.0
2026-08-17Feature
- Manager profile pages now have a separate "Records Held" section (win streaks, single-week highs/lows) below Trophy Case, plus a new "Most Dominant Regular Season" record.
- Trophy Case is now one combined, newest-first list instead of separate All-Time/Seasonal groups.
Bug Fix
- Win streak, loss streak, and active streak records no longer count playoff games or carry over across a season boundary.
- Career Points Leader's point total is now comma-formatted (e.g. "15,511.8 pts" instead of "15511.8 pts").
v1.10.0
2026-08-17Feature
- Manager profile pages now lead with a Trophy Case (championships, seasonal titles, and career records held) in place of the badges grid, followed by a Rivalries section showing each manager's best and worst head-to-head record against a specific rival.
- All-Time Records now shows regular-season and playoff results side by side in one table, including points for/against, playoff games/win %, and 1st/2nd/3rd-place finishes.
Bug Fix
- All-Time Records' win/loss record and win % now reflect regular season only, instead of being silently combined with playoff games.
v1.9.1
2026-08-16Bug Fix
- Manager profile badges now stack as full-width sections (All-Time, then In-Season, then Weekly) instead of three equal-width columns, so All-Time isn't cramped into a narrow column while the other two sit mostly empty.
- Team MVPs now compare each player's weekly points to that week's league average at their position instead of comparing season totals — a fairer rate-based stat that isn't skewed by byes or missed weeks.
v1.9.0
2026-08-16Feature
- League Champion award now lists the actual years won (e.g. "3x League Champion (2018, 2020, 2021)") instead of just a count.
- Trade Counter now has a Total/Per season toggle, and each manager's row expands to show their individual trades for the selected scope.
- Team MVPs on manager profile pages now show how far above or below the league average for their position they scored that season.
Bug Fix
- Draft Insights' Biggest Value/Biggest Reach picks are now ranked by how big the reach was relative to the round, so a small late-round reach no longer outranks a real first-round reach.
- Badge chips on manager profile pages are back to two lines (label + stat) — the description is now available on hover/tap instead of always shown.
- Team MVPs no longer show the full position color-key above the list, just each player's own badge.
v1.8.2
2026-08-16Bug Fix
- Badge descriptions are shorter and chips now size to their content instead of using a fixed minimum height.
- Trade rows on Transactions History now show one line per player moved (e.g. "Player (Team A → Team B)") instead of listing the drop and the add separately, and no longer show a placeholder string as a fake player name for trades ESPN never recorded both sides of.
v1.8.1
2026-08-16Bug Fix
- Best/worst single-season record now breaks a win% tie using points scored, instead of crediting every tied team as a co-holder.
v1.8.0
2026-08-16Feature
- Draft Insights, Goose Counter, manager profile Team MVPs, and Transactions History now show each player's position and pro team as a color-coded badge, matching Draft History's existing style.
v1.7.0
2026-08-16Feature
- Draft History now has full round-by-round boards for 2016, 2017, 2018, 2019, 2020, and 2021, transcribed from Brandon's original board photos.
- Seasons with unverified picks now show an "Unverified" badge, separate from the round-coverage badge.
v1.6.1
2026-08-16Bug Fix
- Badge chips on manager profile pages are now a consistent size, so chips with a long description no longer look mismatched next to shorter ones.
- The Weekly/In-Season/All-Time badge panels are now reliably the same height as each other.
v1.6.0
2026-08-16Feature
- Every badge chip on manager profile pages now shows a one-line description of what it measures and how it's earned, right on the chip.
v1.5.0
2026-08-16Feature
- League Rules restructured into 6 focused sections: League Constitution (renamed from "Fun Rules," gained a new "Goose Gossage" rule name and a new "The Weekly Parlay" rule), League Scoring, Playoffs, Waivers & FAAB, Trades, and Keepers.
- Keepers now lists 4 real rules instead of a "TBD" placeholder.
v1.4.0
2026-08-16Feature
- League Records and Analytics are now dropdown nav groups instead of single pages. League Records: All Time Records, Hall of Fame, Hall of Shame. Analytics: Head-to-Head, Y Against X, Trade Counter.
- Y Against X rebuilt on top-level `/y-against-x`, with precomputed all-time and per-season scopes.
v1.3.0
2026-08-16Feature
- New "Y Against X" page under Analytics — pick a manager and see their hypothetical record against every other manager, by season or all-time, based on real weekly scores.
v1.2.1
2026-08-16Bug Fix
- Corrected the 2022 draft's location, which was recorded as Columbus but was actually Chicago.
v1.2.0
2026-08-16Feature
- Transactions History now includes free agent adds and drops, not just trades and waiver claims, with a type filter to show any combination of the four.
- Trade rows from the 2026 season onward show a "Trade Grade: coming soon" placeholder.
v1.1.0
2026-08-16Feature
- All-Time Standings table on the League Records page — combined regular-season and playoff record, playoff appearances, and 1st/2nd/3rd-place finish counts for every manager, all-time.
- Playoff Byes stat added to every manager's profile.
v1.0.0
2026-08-16Initial tracked release.