SteamKit Versions Save

SteamKit2 is a .NET library designed to interoperate with Valve's Steam network. It aims to provide a simple, yet extensible, interface to perform various actions on the network.

3.0.0-Alpha.1

1 month ago
  • Added a dependency on System.IO.Hashing
  • Added SteamKit2.WebUI.Internal protobufs
  • Updated Steam enums and protobufs.

BREAKING CHANGES

  • SteamKit now targets .NET 8
  • Removed obsolete methods and enum values

2.5.0

5 months ago
  • Added support for new Steam authentication system. (#1129, #1268)
    • Make sure to look at the new authentication samples.
  • 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 BalanceDelayed and LongBalanceDelayed in WalletInfoCallback. (#1240)
  • Deprecated WebAPIUserNonce, RequestWebAPIUserNonce, SendMachineAuthResponse, UpdateMachineAuthCallback. (#1270)
  • Improved TCP connection reliability. (#1102)
  • Update enums and protobufs. (#1073, #1120, #1126, #1148, #1184, #1203, #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)
  • Fixed nullability annotations on PersonaStateCallback. (#1067)
  • Fixed sending service method notifications. (#1075)

2.5.0-Beta.2

5 months ago
  • 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)

2.5.0-Beta.1

1 year ago
  • 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)

2.4.1

2 years ago
  • 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)

2.4.0

2 years ago
  • 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)

2.4.0-Beta.1

2 years ago
  • 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)

2.4.0-Alpha.3

2 years ago
  • 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)

2.4.0-Alpha.2

3 years ago
  • 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.

2.4.0-Alpha.1

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