Skip to content
Pre-release

@azuisleet azuisleet released this Mar 9, 2021

  • CDN: Updated interface to capture preferred_server, use_as_proxy, proxy_request_path and allowed_app_ids
  • CDN: CDNClient methods now accept an optional proxyServer parameter
  • CDN: Separated the request timeout into configurable request/response timeouts
  • Added a MemoryServerListProvider implementation #918
  • Enabled strong name signing on the SteamKit2 assembly #897
  • Protocol/definition updates #910 #939 #957

Bug Fixes

  • Fixed a race in CMClient.Send #913
  • Fixed a race in AsyncJob registration #926
  • Fixed an issue opening files in IsolatedStorageServerListProvider
Assets 3
Pre-release

@yaakov-h yaakov-h released this Jul 13, 2020 · 77 commits to master since this release

  • Updated protobuf-net dependency to v3.0.
  • Updated Steam protobufs.
Assets 3

@yaakov-h yaakov-h released this Jul 5, 2020 · 111 commits to master since this release

  • Added SteamMatchmaking to manage matchmaking lobbies. (#704, #825, #828)
  • Added ParentalSettings to LoggedOnCallback. (#707)
  • Added annotations for C#8 Nullable Reference Types. (#721)
  • Added initial support for an IPv6-aware Steam network. (#770, #845)
  • Added SteamUser.EmailAddrInfoCallback. (#836)
  • Added DepotManifest.Deserialize(). (#841)
  • Added new Licence fields to SteamApps callbacks. (#844)
  • Added CMClient.CurrentEndPoint to expose currently connected remote server address. (#848)
  • Added full update fields to PICSChangesCallback. (#865)
  • SteamUser.LogOn will now use the Cell ID specified in SteamConfiguration as a fallback. (#722)
  • SteamKit will now try skip a CM that responds to a logon attempt with TryAnotherCM or ServiceUnavailable. (#773)
  • Removed debug messages for each packet send/receive event. This can be accomplished through NetHookNetworkListener or a customer IDebugNetworkListener instead. (#774)
  • Log messages now uniquely identify the related SteamClient object, where relevant. (#777)
  • Fixed incorrect Cell ID parameter in ContentServerDirectoryService. (#761)
  • Fixed a possible exception when calling SteamApps functions with duplicated inputs. (787)
  • Fixed Web API exceptions not including the numeric HTTP response code. (#779)
  • Fixed a couple possible crashes. (#834)
  • Updated Steam enums and protobufs. (#685, #729, #810, #820, #827, #849, #858, #864, #866)

BREAKING CHANGES

  • Generated protobuf classes have changed slightly due to updating to a newer version of protobuf-net. (#686)
    • Attributes vary slightly, particularly with regards to the Name property on ProtoContractAttribute, ProtoMemberAttribute, and ProtoEnumAttribute.
    • For any given property, e.g. a property named Foo, the corresponding property FooSpecified has been removed. Use ShouldSerializeFoo() instead.
    • Protobuf classes are no longer marked with the [Serializable] attribute.
  • The appid parameter in SteamApps.GetDepotDecryptionKey is no longer optional. (#689)
  • CDNClient no longer supports CS servers. Some public methods have had their signatures changed to accommodate this. (#725)
  • WebAPI no longer logs exceptions. Callers that want this information logged should log it themselves. (#847)
  • SteamWorkshop.EnumeratePublishedFiles has been removed. Use the unified API IPublishedFile.QueryFiles instead. (#827)
  • All classes in the SteamKit2.Internal.Unified namespace have moved to SteamKit2.Internal. (#827)
Assets 5
Pre-release
Pre-release

@Netshroud Netshroud released this May 16, 2020

  • Added SteamMatchmaking to manage matchmaking lobbies. (#704, #825, #828)
  • Added ParentalSettings to LoggedOnCallback. (#707)
  • Added annotations for C#8 Nullable Reference Types. (#721)
  • Added initial support for an IPv6-aware Steam network. (#770, #845)
  • Added SteamUser.EmailAddrInfoCallback. (#836)
  • Added DepotManifest.Deserialize(). (#841)
  • Added new Licence fields to SteamApps callbacks. (#844)
  • Added CMClient.CurrentEndPoint to expose currently connected remote server addess. (#848)
  • SteamUser.LogOn will now use the Cell ID specified in SteamConfiguration as a fallback. (#722)
  • SteamKit will now try skip a CM that responds to a logon attempt with TryAnotherCM or ServiceUnavailable. (#773)
  • Removed debug messages for each packet send/recieve event. This can be accomplished through NetHookNetworkListener or a customer IDebugNetworkListener instead. (#774)
  • Log messages now uniquely identify the related SteamClient object, where relevant. (#777)
  • Fixed incorrect Cell ID parameter in ContentServerDirectoryService. (#761)
  • Fixed a possible exception when calling SteamApps functions with duplicated inputs. (787)
  • Fixed Web API exceptions not including the numeric HTTP response code. (#779)
  • Fixed a couple possible crashes. (#834)
  • Updated Steam enums and protobufs. (#685, #729, #810, #820, #827, #849)

BREAKING CHANGES

  • Generated protobuf classes have changed slightly due to updating to a newer version of protobuf-net. (#686)
    • Attributes vary slightly, particularly with regards to the Name property on ProtoContractAttribute, ProtoMemberAttribute, and ProtoEnumAttribute.
    • For any given property, e.g. a propery named Foo, the corresponding property FooSpecified has been removed. Use ShouldSerializeFoo() instead.
    • Protobuf classes are no longer marked with the [Serializable] attribute.
  • The appid parameter in SteamApps.GetDepotDecryptionKey is no longer optional. (#689)
  • CDNClient no longer supports CS servers. Some public methods have had their signatures changed to accomodate this. (#725)
  • WebAPI no longer logs exceptions. Callers that want this information logged should log it themselves. (#847)
  • SteamWorkshop.EnumeratePublishedFiles has been removed. Use the unified API IPublishedFile.QueryFiles instead. (#827)
Assets 5
Pre-release
Pre-release

@Netshroud Netshroud released this Mar 29, 2020

  • Added SteamMatchmaking to manage matchmaking lobbies. (#704)
  • Added ParentalSettings to LoggedOnCallback. (#707)
  • Added annotations for C#8 Nullable Reference Types. (#721)
  • SteamUser.LogOn will now use the Cell ID specified in SteamConfiguration as a fallback. (#722)
  • SteamKit will now try skip a CM that responds to a logon attempt with TryAnotherCM or ServiceUnavailable. (#773)
  • Removed debug messages for each packet send/recieve event. This can be accomplished through NetHookNetworkListener or a customer IDebugNetworkListener instead. (#774)
  • Log messages now uniquely identify the related SteamClient object, where relevant. (#777)
  • Fixed incorrect Cell ID parameter in ContentServerDirectoryService. (#761)
  • Fixed a possible exception when calling SteamApps functions with duplicated inputs. (787)
  • Fixed Web API exceptions not including the numeric HTTP response code. (#779)
  • Updated Steam enums and protobufs. (#685, #729, #810, #820)

BREAKING CHANGES

  • Generated protobuf classes have changed slightly due to updating to a newer version of protobuf-net. (#686)
    • Attributes vary slightly, particularly with regards to the Name property on ProtoContractAttribute, ProtoMemberAttribute, and ProtoEnumAttribute.
    • For any given property, e.g. a propery named Foo, the corresponding property FooSpecified has been removed. Use ShouldSerializeFoo() instead.
    • Protobuf classes are no longer marked with the [Serializable] attribute.
  • The appid parameter in SteamApps.GetDepotDecryptionKey is no longer optional. (#689)
  • CDNClient no longer supports CS servers. Some public methods have had their signatures changed to accomodate this. (#725)
Assets 5

@Netshroud Netshroud released this Jun 27, 2019

  • 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.
Assets 5
Pre-release
Pre-release

@Netshroud Netshroud released this May 20, 2019

Same as Beta 2 but fixed a bug with encoding byte[] parameters in WebAPI.

Assets 5
Pre-release
Pre-release

@Netshroud Netshroud released this May 15, 2019

  • Added overloads for CDNClient.DownloadManifestAsync and CDNClient.DownloadDepotChunkAsync for advanced consumers that perform their own server and key management. (#678)
  • 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)
  • Updated Steam enums. (#660)

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.
Assets 5
Pre-release
Pre-release

@Netshroud Netshroud released this Feb 9, 2019

  • 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)
  • 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)
Assets 5

@Netshroud Netshroud released this Jun 13, 2018

  • Added SimpleConsoleDebugListener. (#219)
  • Added helper methods to convert between Clan (Group) SteamIDs and their corresponding Chat SteamIDs. (#451)
  • Added SourceLink to enable consumers to step through SteamKit's source code when debugging. (#542)
    • This requires Visual Studio v15.3 or higher.
  • Fixed several possible crashes. (#260, #294, #506)
  • Fixed NuGet package description. (#508)
  • Fixed UFSClient sending an extra DisconnectedCallback when connecting. (#509)
  • Updated Steam enums and protobufs.

BREAKING CHANGES

  • SteamFriends.SetPersonaName() and SteamFriends.SetPersonaState() are no longer Job-based. (#491)
Assets 5