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.

2.0.0-Alpha2

7 years ago
  • Fixed a crash in WebAPI.

2.0.0-Alpha

7 years ago
  • SteamKit2 now requires .NET Framework 4.6 or a .NET Standard 1.3-compatible runtime.
    • SteamKit2 is now supported on .NET Core.
    • IsolatedStorageServerListProvider is only available in .NET Framework 4.6 and higher.
  • Updated Protobuf message classes to expose a property indicating if any wire value was specified or not, and a method to clear the value.
  • Updated CDNClient and WebAPI to expose Task-based asynchronous methods.
  • Removed all methods and properties that were marked as [Obsolete].

1.8.3

7 years ago
  • Obsoleted TradeProposedCallback.OtherName.

This is the final release to support .NET Framework 4.5.

1.8.2

7 years ago
  • Added support for Binary KeyValues field type 10 (Int64) (#376)
  • Obsoleted SteamApps.GetAppInfo, SteamApps.GetPackageInfo, and SteamApps.GetAppChanges. Use the PICS equivalents instead.
  • Updated game-related GC messages and protobufs.

1.8.1

7 years ago
  • Added support for using CS servers that have (CDN) usetokenauth specified.
  • Added support for newer branch passwords with SteamApps.CheckAppBetaPassword and CryptoHelper.SymmetricDecryptECB.
  • Added LastSeen to the default info flags used by SteamFriends.RequestFriendInfo. (pr #313)
  • Tell Steam that we support the RateLimitExceeded logon response. (pr #307)
  • Fixed timeouts not being set for sending/receiving when using TCP. (pr #317)
  • Fixed more possible crashes when querying WMI on Windows.
  • Fixed concurrent calls to Disconnect possibly blocking connectLock indefinitely.
  • Fixed not escaping backslashes and newlines when serializing KeyValues to text. (bug #334)
  • Fixed KeyValues float parsing in cultures where comma is used as decimal separator. (bug #355)
  • Updated SteamApps.GetCDNAuthToken to populate depot_id.
  • Updated Steam enums and protobufs. (pr #323) (pr #326) (pr #327) (pr #328) (pr #329) (pr #330) (pr #361)
  • Updated game-related GC messages and protobufs.

1.8.1-citest

7 years ago

SteamKit2-1.8.1-citest

7 years ago

SteamKit_1.8.0

7 years ago
  • Added CallbackManager.RunWaitAllCallbacks (pr #292)
  • Added KeyValue.AsUnsignedByte. (pr #270)
  • Added KeyValue.AsUnsignedInteger. (pr #255)
  • Added KeyValue.AsUnsignedShort. (pr #270)
  • Added SteamUserStats.GetNumberOfCurrentPlayers(GameID). (pr #234)
  • Added the ability to persist the server list to Isolated Storage. (pr #293)
  • Added the ability to persist the server list to a file. (pr #293)
  • Added support for fetching server list from the Steam Directory API. (pr #293)
  • Fixed a crash on Windows if WMI is unavailable.
  • Fixed a memory leak when reconnecting to Steam with the same SteamClient instance (pr #292)
  • Updated SteamUserStats.GetNumberOfCurrentPlayers to use messages that Steam continues to respond to. (pr #234)
  • Updated Steam enums and protobufs. (pr #271, pr #274, pr #296)
  • Updated game-related GC messages and protobufs.
  • Removed the hardcoded list of Steam server addresses. (pr #293)

BREAKING CHANGES

  • SmartCMServerList APIs have changed to accomodate new server management behaviour.

SteamKit_1.7.0

8 years ago
  • Added awaitable API for job-based messages. APIs which returned a JobID now return an AsyncJob<>, which can be used to asynchronously await for results. (pr #170)
  • Added SteamApps.PICSGetAccessTokens overload with singular parameters. (pr #190)
  • Added SteamFriends.RequestMessageHistory and SteamFriends.RequestOfflineMessages (pr #193)
  • Added the ability to connect to Developer instances of Steam (EUniverse.Dev). If anyone at Valve is using this internally, hi!
  • Added the ability to set a LoginID in SteamUser.LogOnDetails so that multiple instances can connect from the same host concurrenctly. (pr #217)
  • Added SteamClient.DebugNetworkListener API to intercept and log raw messages. (pr #204)
  • Added the ability to dump messages in NetHook2 format for debugging purposes. (pr #204)
  • Upgraded the encryption protocol used to communicate with the Steam servers.
  • Implemented protection against man-in-the-middle attacks. (pr #214)
  • Server List will now maintain ordering from Steam, increasing the chances of a successful and geographically local connection. (pr #218)
  • After calling SteamUser.LogOff or SteamGameServer.LogOff, SteamClient.DisconnectedCallback.UserInitiated will be true. (pr #205)
  • Fixed a crash when parsing a Steam ID of the format '[i:1:234]'.
  • Fixed a crash when logging on in an environment where the hard disk has no serial ID, such as Hyper-V.
  • Fixed a bug when parsing a KeyValue file that contains a / followed by a newline. (pr #187)
  • Updated Steam enums and protobufs.
  • Updated game-related GC messages and protobufs.

BREAKING CHANGES

  • SteamKit2 now requires .NET 4.5 or equivalent (Mono 3.0), or higher.
  • Removed obsoleted ICallbackMsg extension methods IsType<> and Handle<>. (pr #221)
  • Game Coordinator base messages are now generated per-game, instead of relying on Dota 2. GC messages should use the base messages for their game, which is separated by namespace. (pr #180)
  • Cell IDs are now consistently uints within SteamDirectory.

SteamKit_1.6.5

8 years ago
  • Added inventory service unified protobufs.
  • Added the ability to specify the client's prefered Cell ID in LogOnDetails.CellID. (pr #148)
  • KeyValue objects can now be serialized (both text and binary) to streams with SaveToStream.
  • Fixed an issue with CDNClient session initialization involving sessionid values.
  • Added setter for KeyValue's indexer operator.
  • Added ELeaderboardDisplayType and various leaderboard retrieval functions to SteamUserStats. (pr #153)
  • Implemented machine id support for logon for when the Steam servers inevitably require it. (pr #152)
  • Fixed case where logging on with a different account could lead to an anonymous logon instead. (bug #160)
  • SteamFriends.SetPersonaName now supports JobIDs and has a new associated callback: PersonaChangeCallback (Binary level breaking change)
  • Updated game-related GC messages and protobufs.