release notes
v0.9.0
Added release-note validation and docs pages, pre-release dry-run checks, TypeScript checking foundations, schema docs, and expanded integration fixtures to 31.2% of seasons.
Release
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, and2024. - 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.leagueStructureSpecialCasesso the published football-data schema matches the generated dataset contract.
Validation
-
Added
release-notes:check,release-notes:check:all,release:check, andrelease:dry-run-dataso release candidates can validate notes, docs output, and rebuilt data before publishing. -
Added
integration:coverageto 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:tier3points-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
tier6andtier7lower-tier metadata still needs follow-up review as part of the tier 5/6 hardening work. -
The live
2025-26League One source currently ordersRotherham UnitedabovePort Valewhile exposing fewer points for Rotherham; this is treated as a narrow source-order exception, not as a general relaxation of table-order validation.