Changelog
- 56 changes
- since 12 October 2026
- Atom feed
Tuesday
- 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.
- 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.
- 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.
Football scores →PRs #81, #87 - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Improved
Form chips link to the matches behind them
Each W, D or L in a table's form column opens that match, and hovering shows the score and opponent, for example "W 2–1 vs Millwall (H), 4 Oct". The team column also takes up the spare width.
- 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.
- 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.
- 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.
Premier League →PRs #52, #61, #65 - 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.
- 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.
- 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.
- 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 - 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.
- Data
22 missing club crests fixed
22 clubs that showed no crest now have one.
- 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.
- 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.
Monday
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 - 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.
- 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.
- 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.
- 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.
- New
Search the whole site
A search box in the header finds teams, competitions, countries, cities, stadiums and confederations, with suggestions as you type.
- 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 - 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.
- 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.
Arsenal 2024-25 →PRs #30, #33 - 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.
- 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.
- 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 - 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.
- 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 - 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 - 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.
- 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.
- Data
2026-27 season data loaded
The new season's tables and fixtures are in for the leagues we follow.
- 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.