Skip to content

0.6.0

Choose a tag to compare

@fkrzski fkrzski released this 01 Sep 20:33
· 146 commits to master since this release
Immutable release. Only release title and notes can be modified.
698e203

Closes out ISteamUserStats with GetSchemaForGame, GetGlobalAchievementPercentagesForApp and GetNumberOfCurrentPlayers, and adds a connector-wide default language. Contains a breaking change.

Added

  • GetSchemaForGameRequest (ISteamUserStats) with the GameSchema, SchemaAchievement and SchemaStat DTOs, listing every stat and achievement a game publishes, localised through the Language enum. An app publishing no schema comes back as an empty GameSchema rather than a failure (#48).
  • GetGlobalAchievementPercentagesForAppRequest (ISteamUserStats) with the GlobalAchievement DTO, listing how much of the playerbase has unlocked each achievement in a game. Steam spells the parameter gameid rather than appid and the SDK follows, so this one method takes $gameId (#50).
  • GetNumberOfCurrentPlayersRequest (ISteamUserStats) returning a game's concurrent player count as a plain int. Steam serves the endpoint anonymously, so requests implementing the new SendsNoApiKey contract go out with the configured key stripped from the query (#49).
  • Language enum backing Steam's l query parameter, and a language on SteamConfig that applies it to every request whose endpoint localises its payload. Steam's codes are Valve's own rather than ISO, so the enum transcribes their table instead of mapping to one (#46).
  • AppNotFoundException for an app ID Steam does not know, thrown only where the response separates it from an app that merely exposes no stats (#47).

Changed

  • BC break. $language is a ?Language instead of a ?string on GetPlayerAchievementsRequest, GetUserStatsForGameRequest and both StatsResource methods. Callers passing a raw code swap 'english' for Language::English (#46).

Details

Full Changelog: 0.5.0...0.6.0