SteamKit 2.2.0
- 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
andCDNClient.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 thanDictionary<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 callingobject.ToString()
and encoded to a URL safe representation.
- Arguments of type