Releases: SteamRE/SteamKit
Releases · SteamRE/SteamKit
SteamKit 2.0.0-Alpha
- 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
andWebAPI
to exposeTask
-based asynchronous methods. - Removed all methods and properties that were marked as
[Obsolete]
.
SteamKit 1.8.3
- Obsoleted
TradeProposedCallback.OtherName
.
This is the final release to support .NET Framework 4.5.
SteamKit 1.8.2
- Added support for Binary KeyValues field type 10 (
Int64
) (#376) - Obsoleted
SteamApps.GetAppInfo
,SteamApps.GetPackageInfo
, andSteamApps.GetAppChanges
. Use the PICS equivalents instead. - Updated game-related GC messages and protobufs.
SteamKit 1.8.1
- Added support for using CS servers that have (CDN)
usetokenauth
specified. - Added support for newer branch passwords with
SteamApps.CheckAppBetaPassword
andCryptoHelper.SymmetricDecryptECB
. - Added
LastSeen
to the default info flags used bySteamFriends.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 populatedepot_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.
SteamKit 1.8.1-citest
Edit build versioning, artifact naming, sourcing
SteamKit2 1.8.1-citest
SteamKit2-1.8.1-citest NuGet package format fix
SteamKit 1.8.0
- 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
- Added awaitable API for job-based messages. APIs which returned a
JobID
now return anAsyncJob<>
, which can be used to asynchronously await for results. (pr #170) - Added
SteamApps.PICSGetAccessTokens
overload with singular parameters. (pr #190) - Added
SteamFriends.RequestMessageHistory
andSteamFriends.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
inSteamUser.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
orSteamGameServer.LogOff
,SteamClient.DisconnectedCallback.UserInitiated
will betrue
. (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 methodsIsType<>
andHandle<>
. (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
uint
s withinSteamDirectory
.
SteamKit 1.6.5
- 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 withSaveToStream
.- Fixed an issue with
CDNClient
session initialization involving sessionid values. - Added setter for
KeyValue
's indexer operator. - Added
ELeaderboardDisplayType
and various leaderboard retrieval functions toSteamUserStats
. (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 supportsJobID
s and has a new associated callback:PersonaChangeCallback
(Binary level breaking change)- Updated game-related GC messages and protobufs.
SteamKit 1.6.4
- Added smarter server selection logic.
- Added ability to load initial server list from Steam Directory Web API. See
SteamDirectory.Initialize
. - Added ability to persist internal server list. See Sample 7 for details.
- Added
SteamFriends.InviteUserToChat
. - Added support in
SteamUser
for passwordless login with a login key. - Added
NumChatMembers
,ChatRoomName
andChatMembers
toChatEnterCallback
. - Added new API for callback subscriptions,
CallbackManager.Subscribe
. - Added
SteamApps.RequestFreeLicense
to request Free On-Demand licences. - Exposed
ClientOSType
andClientLanguage
when logging in as a specific or as an anonymous user. - Fixed
KeyValue
binary deserialization returning a dummy parent node containing the actually deserializedKeyValue
. You must change to the newTry
-prefixed methods to adopt the fixed behavior. - Updated Steam enums and protobufs.
- Updated game-related GC messages and protobufs.
DEPRECATIONS
ICallbackMsg.IsType<>
andICallbackMsg.Handle<>
are deprecated and will be removed soon in a future version of SteamKit. Please useCallbackManager.Subscribe
instead.Callback<T>
is deprecated and will be removed in a future version of SteamKit. Please useCallbackManager.Subscribe
instead.KeyValue.ReadAsBinary
andKeyValue.LoadAsBinary
are deprecated and will be removed in a future version of SteamKit. Use theTry
-prefixed methods as outlined above.
BREAKING CHANGES
PICSProductInfo.KeyValues
has been fixed in line with the aboveKeyValue
binary deserialization notes. TheKeyValue
structure returned is now the root node of the product info, not a dummy node with the actual product info as the sole child.