Releases: SteamRE/SteamKit
Releases · SteamRE/SteamKit
3.3.1
3.3.0
Configuration.HttpClientFactorywill now be used for websocket CM connections.- Added
HttpClientPurposeenum to allow returning different HTTP clients for different purposes.
- Added
- Post client disconnection callback before cancelling async jobs.
- Related to the
AsyncJobchange in the previous release.
- Related to the
- Added some Deadlock protobufs.
- Updated Steam protocol version.
- Updated Steam protobufs.
3.2.0
AsyncJobwill now instantly fail if not connected to Steam.- This is technically a breaking change if you relied on this behaviour.
- Added support for zstd compressed depot chunks.
- Added a dependency on
ZstdSharp.Port.
- Added a dependency on
- Added an
GetAuthTicketForWebApi - Added an argument to pass extra args to
WebAPI.CallProtobufAsync<TResponse, TRequest>() - Updated Steam protobufs.
3.1.0
3.0.2
3.0.1
3.0.0
- Added a dependency on
System.IO.Hashing. - Added
SteamKit2.WebUI.Internalprotobufs. - Added
ChatMode,UIMode, andIsSteamDecktoLogOnDetails. - Added
DepotManifest.Serialize. - Added
SteamClient.WaitForCallbackAsyncandCallbackManager.RunWaitCallbackAsync. - Added
cdnAuthTokenparameter toCDN.Clientmethod for country specific servers that still require it. - Added
SteamAuthTickethandler. - Added
WebAPI.AsyncInterface.CallAsyncoverload that does not require specifyingHttpMethod.Get. - Added WebSocket as a default enabled protocol, switched to using GetCMListForConnect API.
- Added support for parsing binary keyvalues that have an alternate end byte.
SmartCMServerListwill now attempt to refresh itself over the WebAPI if it was last refreshed over 7 days ago.- Updated Steam enums and protobufs.
- Various performance and memory optimizations.
- Linux machines will now fetch MAC address for the machine id.
BREAKING CHANGES
- SteamKit now targets .NET 8.
SteamUnifiedMessagesare now reflection-free with a new API.- See updated
013_UnifiedMessagessample for new usage. - Requests are now generated functions like so:
UnifiedMessages.CreateService<Player>().GetGameBadgeLevels( req ); - If you subscribed to
ServiceMethodResponse, useCallbackManager.SubscribeServiceResponseinstead. - If you subscribed to
ServiceMethodNotification,CallbackManager.SubscribeServiceNotificationinstead. - Response messages are now typed under
Bodyproperty, callingGetDeserializedResponsewas removed. - For incoming messages to be processed and decoded, the service must be registered with
CreateServicefirst,
which is done for you by using the new subscribe functions on the callback manager.
- See updated
SteamClientcallback queue is now backed byBufferBlock:FreeLastCallbackandGetAllCallbackshave been removed.- Calling
GetCallbackandWaitForCallbacknow always dequeues a callback, there is no more peek and "freeLast". CallbackManager.RunCallbacksnow returns bool indicating whether a callback was handled.
DepotManifest.ChunkData.Checksumis now auintinstead ofbyte[4].DepotManifest.SaveToFilenow returns void.CDN.Client.DownloadDepotChunkAsyncnow requires a mandatory destination buffer.- Returns the number of written bytes to the destination.
- You can rent a buffer like
ArrayPool<byte>.Shared.Rent((int)chunk.UncompressedLength) DepotChunkis now a static class that only contains aProcessmethod.
- Moved
SteamApps.GetCDNAuthTokentoSteamContent.GetCDNAuthTokendue to a Steam change. IServerListProviderhas a new propertyLastServerListRefreshwhich should return an UTC DateTime
last time the server list was refreshed.- Removed obsolete methods and enum values.
- Removed Artifact and Underlords generated protobufs.
- Removed
SteamTradinghandler. - Removed
RSACryptoclass. - Removed all methods from
CryptoHelperexcept forSymmetricDecrypt. - Removed
ICallbackMsginterface, simply useCallbackMsginstead. - Removed
CMListCallbackas it was removed by Steam.
3.0.0-Beta.5
SmartCMServerListwill now attempt to refresh itself over the WebAPI if it was last refreshed over 7 days ago.
BREAKING CHANGES
SteamUnifiedMessagesare now reflection-free with a new API.- See updated
013_UnifiedMessagessample for new usage. - Requests are now generated functions like so:
UnifiedMessages.CreateService<Player>().GetGameBadgeLevels( req ); - If you subscribed to
ServiceMethodResponse, useCallbackManager.SubscribeServiceResponseinstead. - If you subscribed to
ServiceMethodNotification,CallbackManager.SubscribeServiceNotificationinstead. - Response messages are now typed under
Bodyproperty, callingGetDeserializedResponsewas removed. - For incoming messages to be processed and decoded, the service must be registered with
CreateServicefirst,
which is done for you by using the new subscribe functions on the callback manager.
- See updated
IServerListProviderhas a new propertyLastServerListRefreshwhich should return an UTC DateTime
last time the server list was refreshed.- Removed
ICallbackMsginterface, simply useCallbackMsginstead. - Removed
CMListCallbackas it was removed by Steam.
3.0.0-Beta.4
- Added
SteamAuthTickethandler. - Added
WebAPI.AsyncInterface.CallAsyncoverload that does not require specifyingHttpMethod.Get. - Added support for parsing binary keyvalues that have an alternate end byte.
- Linux machines will now fetch MAC address for the machine id.
BREAKING CHANGES
- Moved
SteamApps.GetCDNAuthTokentoSteamContent.GetCDNAuthTokendue to a Steam change.
3.0.0-Beta.3
- Added WebSocket as a default enabled protocol, switched to using GetCMListForConnect API.
- Fixed CallbackManager to be thread-safe again.
- Fixed handling GC messages.
- Hardware utilities for Windows now use CsWin32.