You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rate-limit-aware integration test framework — LichessTestFixture with 1.5s request throttling and sequential test execution via xUnit [Collection]
Changed
BREAKING: Stringly-typed response properties replaced with enums — All Title, Color, and Source properties on response models now use strongly-typed enums instead of string?. This affects 30+ properties across all API contracts. Consumers must update string comparisons (e.g., game.Source == "pool" → game.Source == GameSource.Pool, player.Title == "GM" → player.Title == Title.GM)
ChallengeJson.Color now uses ChallengeColor enum — Supports Random, White, and Black values (previously string?)
ChallengeColor enum now has [JsonConverter] — Enables lowercase JSON deserialization
Integration tests run sequentially — All tests share LichessTestFixture via [Collection("Lichess API")], eliminating parallel rate limit collisions
Integration test timeout reduced — From 10 minutes to 60 seconds per test (throttling prevents rate limits)