Repository navigation
0.5.0
·
158 commits
to master
since this release
Immutable
release. Only release title and notes can be modified.
Closes out IPlayerService with GetRecentlyPlayedGames, GetSteamLevel, GetBadges and GetCommunityBadgeProgress, and adds fluent resources on the connector. Contains a breaking change.
Added
- Fluent resources on the connector —
$connector->players(),->users()and->stats(), each method sending its request and returning the DTO. The request classes are unchanged and stay the way to reach the Response itself or Saloon's pool() (#40). - GetBadgesRequest (IPlayerService) with the PlayerBadges and Badge DTOs, covering every earned badge alongside the experience behind the community level (#38).
- GetCommunityBadgeProgressRequest (IPlayerService) with the CommunityBadgeQuest DTO, listing the quests behind the Steam community badge and whether each one is done (#39).
- GetRecentlyPlayedGamesRequest (IPlayerService) with the RecentlyPlayedGames and RecentlyPlayedGame DTOs and an optional count limit — RecentlyPlayedGames::$totalCount carries Steam's unlimited total (#36).
- GetSteamLevelRequest (IPlayerService) returning the player's Steam community level as a plain int (#37).
- Testing guidance in the docs: faking the connector with Saloon's MockClient, and clearing the MemoryStore daily counter between tests.
Changed
- Documentation pages are .mdx and use Starlight components — tabs, asides, steps, badges for what each request throws, and filename bars on code blocks.
Fixed
- BC break. PlayerSummary::$timeCreated is nullable, because Steam omits timecreated for a hidden profile and reading it unguarded fataled the whole GetPlayerSummariesRequest batch. Callers reading the date need a null check (#33).
- InvalidApiKeyException also covers a 401 whose HTML names the key parameter, not just a 403 — GetCommunityBadgeProgressRequest answers 401 for a broken or absent key, which used to surface as ProfileNotPublicException.
Details
- docs: rebuild pages as MDX with Starlight by @fkrzski in #34
- fix(dto): make PlayerSummary::timeCreated nullable by @fkrzski in #35
- feat: add GetRecentlyPlayedGames endpoint by @fkrzski in #41
- feat: add GetSteamLevel endpoint by @fkrzski in #42
- feat: add GetBadges endpoint by @fkrzski in #43
- feat: add GetCommunityBadgeProgress endpoint by @fkrzski in #44
- Fluent resources on the connector by @fkrzski in #45
Full Changelog: 0.4.0...0.5.0