v1.7.0 — the draw split + the coverage table
Draw type + three-valued Match.draw ('singles' | 'doubles' | null — null is unknown or a team tie, never a guess). draw param on listMatches/listCompletedMatches/listTournaments/listFixtures. New getHistoryCoverage() returns the measured completeness rollup (per tour × draw, as-of dated); 503 coverage_unavailable surfaced as the typed error. Tape blocks gain starts_at_love/computed_at where served. See CHANGELOG.