Skip to content

SteamKit 2.2.0

Compare
Choose a tag to compare
@Netshroud Netshroud released this 27 Jun 01:54
  • Added an overload of SteamDirectory.LoadAsync that accepts a maximum number of servers to return. (#577)
  • Added ServerRecord.TryCreateSocketServer to try parse a record from a string. (#578)
  • Added support for initializing a GameID for mods and shortcuts. (#602)
  • Added response details for some failed WebAPI responses. WebAPI can now throw a WebAPIRequestException with further details. (#603)
  • Added customization options to SteamKit's underlying HTTP stack. (#605)
  • Added WalletInfoCallback.Balance64 for large Steam Wallet balances. (#607)
  • Added more details to DepotManifest. (#615)
  • Added SteamKit version to default HTTP user agent. (#620)
  • Added overloads for CDNClient.DownloadManifestAsync and CDNClient.DownloadDepotChunkAsync for advanced consumers that perform their own server and key management. (#678)
  • Added ContentServerDirectoryService for the discovery of ContentServers. (#699)
  • The dynamic interface for WebAPI can now take a single un-named argument of IDictionary<string, object> instead of having to pass each argument as a named parameter. (#675)
  • Fixed concurrency issues with UDP connections.
  • Fixed final fallback connection to Steam when server list is unavailable. (#597)
  • Fixed thread safety issues in message deserialization. (#601)
  • Fixed a crash on logon when network adapter information is not available from the underlying runtime. (#630)
  • Fixed downloaded content silently ignoring a length mismatch. An exception will now be thrown in this case. (#632)
  • Fixed WebSocket CM servers not being marked as bad by the server list, and thus not being ignored on subsequent connection attempts. (#634)
  • Updated Steam protocol version. (#568)
  • Updated Steam enums and protobufs. (#565, #569, #576, #660, #698)

BREAKING CHANGES

  • WebAPI now takes a arguments dictionary as Dictionary<string, object>, rather than Dictionary<string, string>. (#668)
    • Arguments of type byte[] are encoded to a URL safe representation.
    • Arguments of value null are treated as empty strings.
    • All other arguments are converted to string by calling object.ToString() and encoded to a URL safe representation.