Skip to content

Release v0.9.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 02:21
· 16 commits to main since this release
197e521

footy-data-kit v0.9.0

Summary

  • Added the release-notes workflow needed for safer pre-releases, including checked-in curated notes, generated docs-site release pages, and validation that required release-note sections are present.
  • Expanded source-of-truth readiness work with stronger schema verification, generated schema documentation, release dry-run checks, and an explicit integration coverage report.
  • Continued the TypeScript migration by adding TypeScript checking infrastructure and converting the output generation path into typed modules.

Breaking Changes

None.

Data Changes

  • No intentional generated season-table data change is included in this release.
  • Added integration fixtures for 10 high-value seasons: 1921, 1923, 1930, 1951, 1991, 1994, 2004, 2019, 2021, and 2024.
  • Expanded direct integration coverage to 43 of 138 season records, or 31.2% of the checked-in dataset.
  • Added direct fixture coverage through tier7, including split Third Division seasons, failed re-election and demotion cases, folded-club rows, the EFL rebrand, COVID/points-per-game handling, tier 5, and modern National League North/South rows.

Bug Fixes

  • Fixed release schema verification ordering so generated schemas can be checked reliably during release validation.
  • Added schema coverage for seasonInfo.leagueStructureSpecialCases so the published football-data schema matches the generated dataset contract.

Validation

  • Added release-notes:check, release-notes:check:all, release:check, and release:dry-run-data so release candidates can validate notes, docs output, and rebuilt data before publishing.
  • Added integration:coverage to report unique-season fixture coverage, source modes, asserted tiers, assertion counts, and tagged scenario coverage without fetching live pages.
  • Added a pre-release CI workflow that checks release notes, docs generation, type checking, linting, formatting, schema verification, and data verification.
  • Tracked the current 2025:tier3 points-order exception explicitly so the release verifier can distinguish that source-order anomaly from ordinary table-order regressions.
  • Added docs-site deployment gating for changes to release notes, docs-site generation, schemas, and package metadata after merge to main.

Consumer Notes

  • No intentional schema break is included in this release.
  • The new release-note pages make release details easier to inspect on the docs site; the GitHub release body should stay shorter and link to the full docs page.
  • Integration coverage percentage means unique seasons with at least one live integration fixture. It does not mean every row or every club in those seasons has exhaustive assertions.

Known Limitations

  • Lower-tier historical coverage still needs deeper vetting before every tier can be treated as equally mature.
  • TypeScript migration is in progress; the codebase is not fully typed yet.
  • Current tier6 and tier7 lower-tier metadata still needs follow-up review as part of the tier 5/6 hardening work.
  • The live 2025-26 League One source currently orders Rotherham United above Port Vale while exposing fewer points for Rotherham; this is treated as a narrow source-order exception, not as a general relaxation of table-order validation.

Published Data

  • Season coverage: 1888-2025 (138 season records)
  • League table records: 473 tier tables
  • Club metadata records: 232
  • Club status split: 196 active, 5 historical, 31 unknown
  • Clubs with source-backed lifecycle events: 87
  • Clubs with tracked absence explanations: 117

Data Change Summary

  • Seasons before: 138
  • Seasons after: 138
  • Added seasons: 0
  • Removed seasons: 0
  • Changed seasons: 15

Changed seasons:

  • 1921: season metadata
  • 1957: season metadata
  • 1958: season metadata
  • 1987: season metadata
  • 1991: season metadata
  • 1992: season metadata
  • 1993: season metadata
  • 1994: season metadata
  • 2004: season metadata
  • 2019: 1 changed tier(s); season metadata
  • 2021: 2 changed tier(s)
  • 2022: 1 changed tier(s)
  • ...and 3 more changed season(s).

Validation

Release data is regenerated from the Wikipedia overview pipeline and checked before publishing.

  • Jest unit tests
  • Wikipedia integration tests
  • ESLint
  • Prettier format check
  • FootballData structural validation
  • Club continuity and historical-reason validation
  • Table points-order validation, with known points-per-game and source-order exceptions explicitly exempted

Assets

  • all-seasons.json
  • all-seasons.min.json
  • wiki_overview_tables_by_season.json
  • wiki_overview_tables_by_season.min.json
  • club-metadata.json
  • release-diff.json
  • release-diff.md
  • release-notes.md

The detailed machine diff is attached as release-diff.json; the compact markdown diff is attached as release-diff.md.