Skip to content
Almanac
Menu

Changelog

Tuesday

  1. New

    League seasons have a Map tab

    Each club's home ground is pinned on a map of the country, with the club list beside it. Clubs that share a ground share one pin, and clubs without a stored location are listed under the map.

  2. New

    Team history pages now show a club history graph

    A team's Seasons page now opens with a graph of every league finish, one band per tier, with titles, promotions and relegations marked. Click any point to open that season's table with the club highlighted.

  3. New

    Pick a date from a calendar in the scores widget

    The scores date control now shows the real date and opens a month calendar with a dot and a match count on match days, so you can jump straight to any day.

  4. Improved

    Faster match pages and a smarter nightly refresh

    Match pages load faster and the nightly data refresh is smarter, so live scores, tables and match events stay up to date while using far fewer requests to the data provider.

  5. Data

    166 clubs that were split across two records are now one

    Clubs that appeared twice under different names, such as Darlington and Darlington 1883, Colchester and Colchester United, or Halifax Town and FC Halifax Town, now have a single page with their full history. Old links redirect to the merged club. Reserve sides like Valencia Mestalla are linked to their first team, and clubs that split and coexisted are linked rather than merged.

  6. Fixed

    Old links to merged clubs still work

    When two records for the same club are merged, links to the old one now go straight to the club's page, on the same tab.

    PRs #79, #80
  7. New

    League tables show how each team's season ended

    Finished seasons mark champions, promoted, play-off and relegated teams, plus a badge for European places that links to that competition. Teams that came up or down into the league get an arrow linking to where they came from.

  8. New

    See every team's league position across the season

    A Season so far chart under the table plots each team's position by matchweek. The table also shows how far each team has moved since the last matchweek, and a Matchweek menu replaces the old slider.

  9. Improved

    Country season summaries show every way a team moved

    The champions and movement panel on country pages now lists teams relegated into and promoted out of each league, not just promoted in and relegated out.

  10. New

    The Matches tab now browses a season round by round

    The Fixtures tab is now Matches. It opens on the current round, and you can step back and forward or jump to any round. Main is renamed Overview on competition and team pages.

  11. Fixed

    Long names stay inside the sidebar

    Long competition and club names in the sidebar now cut off with an ellipsis instead of spilling over. Hover to see the full name.

    PR #69
  12. Improved

    Click anywhere on a match row to open the match

    Match rows now work as one link to the match page. Team names inside a row still go to their own team pages.

  13. Fixed

    A season only has a champion once it's finished

    Latest champions shows the last finished season, so the Premier League lists 2025-26 instead of whoever leads 2026-27. Honours and title counts follow the same rule.

  14. New

    See how fresh a competition's data is, and refresh it

    Competition pages show when the data was last updated, with a button to fetch the latest table and fixtures. Team pages show the same freshness line for their league.

  15. Improved

    Sharper flags, and home nations get their own

    Flags are now images instead of emoji, so they look the same on every device. England, Scotland, Wales and Northern Ireland have their own flags, and UEFA competitions show the EU flag.

  16. New

    View a league table as of any matchweek, as a form table, or as a results grid

    League seasons can show the table after any round, a form table over the last 5, 6 or 10 games, and a Results tab with every home and away score in a grid.

  17. Fixed

    New seasons show qualification zones

    Seasons that started after the summer rollover now have their promotion, European and relegation zones. Team pages also pick the right season when two seasons start in the same year.

  18. Fixed

    Seasons are labelled the right way and matches sit in the right season

    Season labels follow each competition's format, so calendar-year leagues read 2026 and split-year leagues read 2026-27. Matches are filed under the season they belong to, and unfinished seasons are no longer called completed.

    PR #43
  19. Data

    184 wrong champions removed

    Seasons still in progress had a champion recorded from whoever led the table at the time. Those 184 rows are gone.

  20. Data

    22 missing club crests fixed

    22 clubs that showed no crest now have one.

  21. Data

    574 matches moved to the right season

    Seasons that were filed under the wrong label have been fixed, and 574 matches that sat in the wrong season have been moved to the right one.

  22. Behind the scenes

    API quota split and crawler rules

    Background refreshes and the refresh button now have separate shares of the daily API-Football quota, so a busy night can't use up the button's share. Search engines are asked to stay off match pages and API routes.

    PRs #76, #77

Monday

  1. New

    Every match has its own page

    Match pages show the score, scorers, a goal and red card timeline, form going in, head-to-head and the table, with a knockout view for cup ties. Every match row on the site links to one.

  2. Fixed

    An unfinished season's leader isn't called the champion

    The seasons list shows "In progress · leading Manchester City" instead of naming a champion before the season ends.

  3. Data

    Club names fixed from Wikidata

    1,620 clubs are now linked to Wikidata, and 44 names had their casing or accents corrected, so Gais now reads GAIS and IFK Goteborg reads IFK Göteborg. New clubs are also checked against existing ones before they're added, which cuts down on duplicates.

  4. New

    Home and away tables, and a link to one club's row

    League tables have an All / Home / Away switch. Team pages link into a season's table with the club already marked, the [ and ] keys step between seasons, and printing a page leaves out the menus.

  5. New

    Confederation pages list each country's leagues and cups

    UEFA, CONMEBOL, CONCACAF, CAF and AFC pages show each member country's top two leagues and cups, with a link to its full pyramid.

  6. Fixed

    1999-2000 now reads 1999-00

    The 1999/2000 season uses the same short label as every other season. Old links still work.

    PR #49
  7. New

    Knockout brackets for cups and play-offs

    Competitions with knockout rounds get a Knockout tab with a bracket, including the UEFA cups and league play-offs. Scores show extra time and penalties, like "1–1 (4–3 pens)", and cup seasons name their winner.

  8. Fixed

    Stadiums with the same name are kept apart

    Grounds that share a name, like the three St James' Parks, each get their own page, and the shared name lists all of them. Newcastle's recent results show up again.

  9. New

    Scores on the home page and every overview page

    A scores widget with live, finished and upcoming filters and a date stepper sits on the home page and on football, country, confederation, competition and team pages. When a page has nothing on today, it jumps to the nearest match day. The home page is now grouped by sport.

  10. Fixed

    New seasons start on their own

    The nightly refresh now finds new seasons and moves each league on to them. Fixtures by date cover every season, so past dates still show last season's matches.

  11. Fixed

    Right champions on country pages, and the right round reached in Europe

    Country pages had some wrong or missing champions, and team pages showed the wrong round reached in some European campaigns. Both are fixed.

    PR #36
  12. Improved

    Club logos in match lists, and page icons

    Team logos show next to team names in scores and fixtures. Team and competition pages use their own logo as the browser tab icon, and clubs that had no logo now get one.

    PRs #22, #34
  13. New

    A team's matches, one season at a time

    The team Matches tab shows every match in a season, grouped by month, with a season picker and League, Cups and Continental filters.

  14. New

    A sidebar that follows the page you're on

    The sidebar shows what's around the current page first: the league pyramid, nearby clubs or today's matches. Below that are your last five pages, kept in your browser only, and the full index.

    PR #31
  15. Improved

    Competitions that no longer run say so

    Old leagues show "Defunct · last season 2003-04 · renamed to Championship" instead of warning that this season hasn't loaded.

  16. Fixed

    A round of small fixes

    A skip link for keyboard users, club crests from Wikimedia load again, every tab has its own page title, and counts read "1 competition" not "1 competitions". Empty panels on stub teams are hidden and score order in team match lists is right.

    PRs #27, #28
  17. Fixed

    Team counts for every season

    Seasons with no recorded team count now count the teams in their table, so pyramids and competition pages stop showing blanks.

    PR #26
  18. New

    Step through seasons and tiers on a competition

    Competition pages have a season switcher that follows renames, so stepping back from the Championship's first season lands on the old First Division. A tier stepper moves one division up or down in the same season.

  19. Improved

    A simpler page header

    Entity pages swap the side infobox for one facts line under the title, such as country, tier and number of teams. Most pages now use the full width.

    PR #21
  20. New

    Country pyramids by season, and confederation pages

    Football in a country shows its league pyramid for one season, with a season picker and that season's champions, promoted and relegated teams. Each confederation has its own page too.

  21. New

    Sort league tables and see recent form

    Click any column header to sort a table, and click again to reverse it. Form shows as small W, D and L squares, and each row has the club's logo.

  22. New

    Short written profiles of teams and competitions

    Team and competition overviews show a generated summary, marked as such, with the model and date it was written and links to the clubs and places it mentions.

  23. New

    City and stadium pages

    A team's city and stadium are now links. Each page lists the clubs based there and their current league.

  24. New

    Flags, collapsible panels, and a page for every sport

    Country flags appear across the site, long panels collapse behind Show all, and every sport has a page, even those with no data yet.

  25. New

    Team pages get Table, Matches, Honours and Linked tabs

    Team pages show the club's league table, its matches, honours and linked clubs such as reserve or phoenix sides. Season history marks promotions, relegations and gaps in our data.

  26. New

    Competition fixtures, all-time tables and honours

    Competition pages list a season's fixtures by month, an all-time table across every season we hold, and every title-winning season under Most titles.

  27. Improved

    A proper menu and compact tables on phones

    On phones the sidebar opens from a Menu button, and league tables drop to position, team, played, goal difference and points so they fit without scrolling sideways.

    PR #12
  28. Improved

    Pages say when the current season isn't loaded yet

    If this season's data isn't in yet, pages say so and show the last completed season. Team season history splits league and European campaigns, and European rows show the round reached.

    PR #9
  29. New

    Pages for football, countries, competitions and teams

    The site gets its full layout: a header, a sidebar grouped by confederation, breadcrumbs, tabs and a footer. Competitions that no longer run move into a Historic list.

  30. New

    Almanac is on the web

    The first version of the site, with a home page listing every football competition and a page for each team. Almanac used to be a terminal app called sport-project.

    PRs #1, #2
  31. Data

    2026-27 season data loaded

    The new season's tables and fixtures are in for the leagues we follow.

  32. Behind the scenes

    Checks, security and design notes

    Every change to the site now gets a smoke test that walks the pages before it ships. Writes to the API need a service token, a data quality scan runs every night, and wireframes for every page are in the repo.

    PRs #3, #4, #5, #46