Skip to content

Releases: SteamRE/SteamKit

SteamKit 2.5.0-Beta.2

30 Oct 11:03
Compare
Choose a tag to compare
SteamKit 2.5.0-Beta.2 Pre-release
Pre-release
  • Added GenerateAccessTokenForAppAsync. (#1268)
  • Added BalanceDelayed and LongBalanceDelayed in WalletInfoCallback. (#1240)
  • Deprecated WebAPIUserNonce, RequestWebAPIUserNonce, SendMachineAuthResponse, UpdateMachineAuthCallback. (#1270)
  • Update enums and protobufs. (#1230, #1264, #1269)

Bug Fixes

  • Fixed machine_id on Windows to be consistent with the Steam client. (#1167)
  • Fixed SteamLanguageParser to generate BinaryWriter/Reader that gets disposed. (#1210)
  • Fixed async jobs to use high precision timer for timeouts instead of wall clock. (#1281)
  • Allowed DuplicateRequest in SendSteamGuardCodeAsync. (#1212)

SteamKit 2.5.0-Beta.1

23 Mar 11:20
Compare
Choose a tag to compare
SteamKit 2.5.0-Beta.1 Pre-release
Pre-release
  • Added SteamApps.GetLegacyGameKey. (#1071)
  • Added SteamUser.PlayingSessionStateCallback. (#1109)
  • Added ability to serialize depot manifests. (#1113)
  • Added support for unauthenticated service methods. (#1126)
  • Added LogOnDetails.MachineName. (#1183)
  • Added support for new Steam authentication system. (#1129)
  • Improved TCP connection reliability. (#1102)
  • Update enums and protobufs. (#1073, #1120, #1126, #1148, #1184, #1203)

Bug Fixes

  • Fixed nullability annotations on PersonaStateCallback. (#1067)
  • Fixed sending service method notifications. (#1075)

SteamKit 2.4.1

10 Jan 01:01
Compare
Choose a tag to compare
  • Fixed PersonaStateCallback nullability annotations. (#1067)
  • Fixed SteamUnifiedMessages sending invalid notifications. (#1075)

BREAKING CHANGES:

  • SteamUnifiedMessages.SendMessage(..., isNotification: true) will now return null rather than an AsyncJob, as notifications do not have job semantics. This method is obsolete and SendNotification(...) should be used instead. (#1075)

SteamKit 2.4.0

04 Dec 12:38
Compare
Choose a tag to compare
  • Updated protobuf-net dependency to v3.0.
  • Added a MemoryServerListProvider implementation. (#918)
  • Added CallProtobufAsync<T> method to WebAPI to deserialize response as Protobuf instead of KeyValues. (#1021)
  • Added SteamChinaOnly flag to CDN server objects. (#1021)
  • Added new APIs to allow consumers to provide their own machine info. (#1028)
  • Added SteamUser.VanityUrlChangedCallback. (#1035)
  • Added SteamApps.PurchaseResponseCallback. (#1033)
  • Added SteamApps.RedeemGuestPassResponseCallback. (#1033)
  • Added new SteamContent handler. (#1022, #1060)
  • Added the ability to set ClientMsgProtoBuf<T>.Body. (#1036)
  • SteamKit2 now ships a net6.0 assembly as well as a netstandard2.0 assembly. (#1049)
  • Enabled strong name signing on the SteamKit2 assembly. (#897)
  • Changed thread names to not get truncated on Linux. (#1015)
  • Changed message handler exception handling to log the full Exception object rather than just the message. (#1052)
  • Changed the implementation of SteamUnifiedMessages to use the newer message protocol under the hood. (#1036)
  • Removed some DebugLog spam from WebSocket connections. (#1040)
  • Updated C# nullability annotations. (#971)
  • Updated Steam enums and protobufs. (#910, #911, #939, #957, #965, #973, #981, #1008, #1020, #1025, #1059, #1062)

Bug Fixes

  • Fixed a race in CMClient.Send. (#913)
  • Fixed a race in AsyncJob registration. (#926)
  • Fixed an issue opening files in IsolatedStorageServerListProvider.
  • Fixed throwing an exception when calling WebAPI twice with the same arguments. (#992)
  • Fixed WebAPI mutating the supplied arguments dictionary. (#995)
  • Fixed cryptographic errors in .NET 6 previews. (#1006)
  • Fixed IDebugNetworkListener not being given encryption handshake messages. (#1038)
  • Fixed a possible unhandled exception when opening a TCP connection. (#1047)
  • Fixed the UnobservedTaskException event being triggered on .NET 6 if a TCP connection times out. (#1050)
  • Fixed WebSocket connections constructing an incorrect IPv6 URI. (#1055)
  • Fixed DisconnectedCallback.UserInitiated being true when a connection was terminated due to an internal error. (#1053)
  • Fixed SmartCMServerList getting fixated on the first CM server when all servers are marked as bad.

BREAKING CHANGES

  • SteamWorkshop.EnumerateUserPublishedFiles and its associated callback has been removed. (#973)
  • SteamWorkshop.EnumerateUserSubscribedFiles and its associated callback has been removed. (#973)
  • SteamApps.PICSRequest has been changed from a class to a struct, and only_public has been removed. (#911)
  • A non-final optional parameter has been removed from SteamApps.PICSGetProductInfo. For any caller that supplied
  • three unnamed arguments, this is a source-breaking change as the value for onlyPublic will now be passed to the
  • method parameter metaDataOnly. Please audit your code for any calls to PICSGetProductInfo as the compiler will
  • not warn you about this change. (#911)
  • Changed SteamApps.GetPICSProductInfo signature to now use PICSRequest objects. (#1009)
  • Removed some old non-Protobuf messages. (#1037)
  • Updated nullability to match latest BCL annotations and to fix .NET 6 SDK analysis warnings. (#1049)
  • SteamClient.AddHandler will now throw an ArgumentNullException if the handler is null, rather than crashing on a NullReferenceException. (#1049)
  • WebAPI will now throw an ArgumentException if the method parameter is null, rather than crashing on a NullReferenceException. (#1049)
  • CDN timeouts options are now properties instead of fields. (#1049)
  • CDNClient has been heavily refactored and is now SteamKit2.CDN.Client. (#1022)
  • ClientMsgProtobuf can now only be constructed from a PacketClientMsgProtobuf. (#1036)
  • Removed IClientMsg.Deserialize(...) and implementations. (#1036)
  • Removed ServiceMethodResponse.ResponseRaw. (#1036)
  • CDN.Server.AllowedAppIds is now not-nullable. Check for empty instead. (#1021)

SteamKit 2.4.0-Beta.1

18 Nov 04:34
22987e9
Compare
Choose a tag to compare
SteamKit 2.4.0-Beta.1 Pre-release
Pre-release
  • Added CallProtobufAsync<T> method to WebAPI to deserialize response as Protobuf instead of KeyValues. (#1021)
  • Added SteamChinaOnly flag to CDN server objects. (#1021)
  • Added new APIs to allow consumers to provide their own machine info. (#1028)
  • Added SteamUser.VanityUrlChangedCallback. (#1035)
  • Added SteamApps.PurchaseResponseCallback. (#1033)
  • Added SteamApps.RedeemGuestPassResponseCallback. (#1033)
  • Added new SteamContent handler. (#1022, #1060)
  • Added the ability to set ClientMsgProtoBuf<T>.Body. (#1036)
  • SteamKit2 now ships a net6.0 assembly as well as a netstandard2.0 assembly. (#1049)
  • Changed thread names to not get truncated on Linux. (#1015)
  • Changed message handler exception handling to log the full Exception object rather than just the message. (#1052)
  • Changed the implementation of SteamUnifiedMessages to use the newer message protocol under the hood. (#1036)
  • Fixed IDebugNetworkListener not being given encryption handshake messages. (#1038)
  • Fixed a possible unhandled exception when opening a TCP connection. (#1047)
  • Fixed the UnobservedTaskException event being triggered on .NET 6 if a TCP connection times out. (#1050)
  • Fixed WebSocket connections constructing an incorrect IPv6 URI. (#1055)
  • Fixed DisconnectedCallback.UserInitiated being true when a connection was terminated due to an internal error. (#1053)
  • Removed some DebugLog spam from WebSocket connections. (#1040)
  • Updated Protobufs. (#1008, #1020, #1025, #1059)

BREAKING CHANGES

  • Changed SteamApps.GetPICSProductInfo signature to now use PICSRequest objects. (#1009)
  • Removed some old non-Protobuf messages. (#1037)
  • Updated nullability to match latest BCL annotations and to fix .NET 6 SDK analysis warnings. (#1049)
  • SteamClient.AddHandler will now throw an ArgumentNullException if the handler is null, rather than crashing on a NullReferenceException. (#1049)
  • WebAPI will now throw an ArgumentException if the method parameter is null, rather than crashing on a NullReferenceException. (#1049)
  • CDN timeouts options are now properties instead of fields. (#1049)
  • CDNClient has been heavily refactored and is now SteamKit2.CDN.Client. (#1022)
  • ClientMsgProtobuf can now only be constructed from a PacketClientMsgProtobuf. (#1036)
  • Removed IClientMsg.Deserialize(...) and implementations. (#1036)
  • Removed ServiceMethodResponse.ResponseRaw. (#1036)
  • CDN.Server.AllowedAppIds is now not-nullable. Check for empty instead. (#1021)

SteamKit 2.4.0-Alpha.3

30 Jul 05:49
Compare
Choose a tag to compare
Pre-release
  • Fixed throwing an exception when calling WebAPI twice with the same arguments. (#992)
  • Fixed WebAPI mutating the supplied arguments dictionary. (#995)
  • Fixed cryptographic errors in .NET 6 previews. (#1006)
  • Updated C# nullability annotations. (#971)
  • Updated Steam enums and protobufs. (#911, #965, #973, #981)

BREAKING CHANGES

  • SteamWorkshop.EnumerateUserPublishedFiles and its associated callback has been removed. (#973)
  • SteamWorkshop.EnumerateUserSubscribedFiles and its associated callback has been removed. (#973)
  • SteamApps.PICSRequest has been changed from a class to a struct, and only_public has been removed. (#911)
  • A non-final optional parameter has been removed from SteamApps.PICSGetProductInfo. For any caller that supplied
    three unnamed arguments, this is a source-breaking change as the value for onlyPublic will now be passed to the
    method parameter metaDataOnly. Please audit your code for any calls to PICSGetProductInfo as the compiler will
    not warn you about this change. (#911)

SteamKit 2.4.0-Alpha.2

09 Mar 00:33
Compare
Choose a tag to compare
Pre-release
  • 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.

SteamKit 2.4.0-Alpha.1

13 Jul 01:45
Compare
Choose a tag to compare
Pre-release
  • Updated protobuf-net dependency to v3.0.
  • Updated Steam protobufs.

SteamKit 2.3.0

05 Jul 04:41
Compare
Choose a tag to compare
  • 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)

SteamKit 2.3.0-beta.2

16 May 10:05
Compare
Choose a tag to compare
SteamKit 2.3.0-beta.2 Pre-release
Pre-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 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)