Releases: SteamRE/SteamKit
Releases · SteamRE/SteamKit
SteamKit 1.6.2
- Fixed a crash when receiving a
ServiceMethod
message. - Fixed
ServiceMethodCallback.RpcName
having a leading '.' character (e.g. '.MethodName' instead of 'MethodName). - Fixed web responses in
CDNClient
not being closed, which could lead to running out of system resources. - Added error handling for
ClientMsgHandler
. Any unhandled exceptions will be logged toDebugLog
and triggerSteamClient
to disconnect. - Updated
EMsg
list. - Updated Steam protobufs.
- Updated game-related GC messages and protobufs.
SteamKit 1.6.1
v1.6.1 (Nov 30, 2014)
- Added support for VZip when decompressing depot chunks.
- Improved thread safety and error handling inside
TcpConnection
. - Added
DownloadDepotChunk
overload for consumers who insist on connecting to particular CDNs. - Updated
EResult
with the new fieldNotModified
. - Updated
EMsg
list. - Updated
EOSType
. - The short names for Windows versions (e.g.
Win8
instead ofWindows8
) are preferred. - Addded
MacOS1010
for OS X 10.10 'Yosemite' - Removed various long-obsolete values from enums where the value was renamed.
- Removed
EUniverse.RC
. - Updated game related GC messages and protobufs.
SteamKit 1.6.0
v1.6.0 (Oct 11, 2014)
- Updated
EOSType
for newer Linux and Windows versions. - A
LoggedOnCallback
withEResult.NoConnection
is now posted when attempting to logon without being connected to the remote Steam server. - Fixed anonymous gameserver logon.
CDNClient.Server
's constructor now accepts aDnsEndPoint
.- Updated
EResult
with the following new fields:AccountLogonDeniedNeedTwoFactorCode
,ItemDeleted
,AccountLoginDeniedThrottle
,TwoFactorCodeMismatch
. - Added public utility class for working with DateTime and unix epochs:
DateUtils
- Added
GetSingleFileInfo
,ShareFile
and related callbacks for dealing with Steam cloud files with theSteamCloud
handler. - Fixed a potential crash when failing to properly deserialize network messages.
- Updated
EMsg
list. - Refactored the internals of tcp connections to Steam servers to be more resilient and threadsafe.
CallbackMsg.Handle
will now return a boolean indiciating that the passed in callback matches the generic type parameter.- Added support for logging into accounts with two-factor auth enabled. See the
SteamUser.LogOnDetails.TwoFactorCode
field. - Updated the bootstrap list of Steam CM servers that SteamKit will initially attempt to connect to.
- Added
SteamFriends.FriendMsgEchoCallback
for echoed messages sent to other logged in client
instances. - Updated game related GC messages and protobufs.
BREAKING CHANGES
JobCallback
API has been merged withCallback
. For help with transitioning code, please see the following wiki notes: https://github.com/SteamRE/SteamKit/wiki/JobCallback-Transition.UFSClient.UploadFileResponseCallback.JobID
has been renamed toRemoteJobID
in order to not conflict withCallbackMsg
's newJobID
member.UFSClient.UploadDetails.JobID
has been renamed toRemoteJobID
.CDNClient
has been refactored to support multiple authdepot calls for a single instance of the client and to support CDN servers.- The following
EResult
fields have been renamed: PSNAccountNotLinked
▶️ ExternalAccountUnlinked
InvalidPSNTicket
▶️ PSNTicketInvalid
PSNAccountAlreadyLinked
▶️ ExternalAccountAlreadyLinked
SteamKit 1.5.1
v1.5.1 (Mar 15, 2014)
- Added a parameterless public constructor to
DepotManifest.ChunkData
to support serialization. SteamWorkshop.RequestPublishedFileDetails
has been obsoleted and is no longer supported. This functionality will be dropped in a future SteamKit release. See the thePublishedFile
WebAPI service for a functional replacement.- Added the request and response messages for the
PublishedFile
service. - Fixed an unhandled exception when requesting metadata-only PICS product info.
- Exposed the following additional fields in the
LoggedOnCallback
:VanityURL
,NumLoginFailuresToMigrate
,NumDisconnectsToMigrate
. - Exposed the HTTP url details for PICS product info, see:
PICSProductInfoCallback.PICSProductInfo.HttpUri
andUseHttp
. - Added
EEconTradeResponse.InitiatorPasswordResetProbation
andInitiatorNewDeviceCooldown
. - Fixed
SteamGameServer.LogOn
andLogOnAnonymous
sending the wrong message. - Added support for token authentication for game server logon.
- Added the request and response messages for the
GameServers
service. - Added the ability to specify server type for game servers, see:
SteamGameServer.SendStatus
. - Exposed a few more fields on
TradeResultCallback
:NumDaysSteamGuardRequired
,NumDaysNewDeviceCooldown
,DefaultNumDaysPasswordResetProbation
,NumDaysPasswordResetProbation
. - Fixed being unable to download depot manifests.
- Added
SteamID.SetFromSteam3String
. - Obsoleted
SteamApps.SendGuestPass
. This functionality will be dropped in a future SteamKit release. - Updated
EResult
with the following new fields:UnexpectedError
,Disabled
,InvalidCEGSubmission
,RestrictedDevice
. - Updated EMsg list.
- Updated game related GC messages.
BREAKING CHANGES
- Fixed
ServiceMethodResponse.RpcName
containing a leading '.'.
SteamKit 1.5.0
v1.5.0 (Oct 26, 2013)
- Added
DebugLog.ClearListeners()
. - Added
WebAPI.AsyncInterface
, a .NET TPL'd version ofWebAPI.Interface
. - Added
SteamClient.ServerListCallback
. - Added
SteamUser.WebAPIUserNonceCallback
, and a method to request it:SteamUser.RequestWebAPIUserNonce()
. - Added
SteamUser.MarketingMessageCallback
. - Added a new member to
CMClient
:CellID
. This is the Steam server's recommended CellID. - Added the ability to specify
AccountID
inSteamUser.LogOnDetails
. - Added a helper API to
SteamUnifiedMessages
for service messages. - Fixed issue where
CallbackManager
was not triggering forJobCallback<T>
. - Fixed unhandled protobuf-net exception when (de)serializing messages with enums that are out of date.
- Fixed a bug where all
WebAPI.Interface
requests would instantly timeout. - Fixed
Manifest.HashFileName
andManifest.HashContent
being swapped. - Updated
EMsg
list. - Updated game related GC messages.
- Updated the following enums:
EResult
,EChatEntryType
,EAccountFlags
,EClanPermission
,EFriendFlags
,EOSType
,EServerType
,EBillingType
,EChatMemberStateChange
,EDepotFileFlag
,EEconTradeResponse
. - The following members of
EChatRoomEnterResponse
have been obsoleted:NoRankingDataLobby
,NoRankingDataUser
,RankOutOfRange
. EOSType.Win7
has been obsoleted and renamed toEOSType.Windows7
.EEconTradeResponse.InitiatorAlreadyTrading
has been obsoleted and renamed toEEconTradeResponse.AlreadyTrading
.EEconTradeResponse.Error
has been obsoleted and renamed toEEconTradeResponse.AlreadyHasTradeRequest
.EEconTradeResponse.Timeout
has been obsoleted and renamed toEEconTradeResponse.NoResponse
.EChatEntryType.Emote
has been obsoleted. Emotes are no longer supported by Steam.SteamFriends.ProfileInfoCallback.RecentPlaytime
has been obsoleted. This data is no longer sent by the Steam servers.- Updated to latest protobuf-net.
BREAKING CHANGES
SteamUser.LoggedOnCallback.Steam2Ticket
is now exposed as a byte array, rather than aSteam2Ticket
object.- The
SteamKit2.Blob
namespace and all related classes have been removed. - Support for Steam2 servers and the various classes within SteamKit have been removed.
CDNClient
has been heavily refactored to be more developer friendly.- All
DateTime
s in callbacks are nowDateTimeKind.Utc
.
SteamKit 1.4.1
v1.4.1 (Jul 15, 2013)
- Added the ability to manipulate UFS (Steam cloud) files with UFSClient.
- Added SteamScreenshots handler for interacting with user screenshots.
- Added an optional parameter to SteamID.Render() to render SteamIDs to their Steam3 representations.
- Added the ability to specify the timeout of WebAPI requests with Interface.Timeout.
- The RSACrypto and KeyDictionary utility classes are now accessible to consumers.
- Updated EMsg list.
- Updated game related GC messages.
SteamKit 1.4.0
v1.4.0 (Jun 08, 2013)
- KeyValues now correctly writes out strings in UTF8.
- Fixed an exception that could occur with an invalid string passed to SteamID's constructor.
- Added SteamFriends.ClanStateCallback.
- Added EPersonaStateFlag. This value is now exposed in SteamFriends.PersonaStateCallback.
- Added MsgClientCreateChat and MsgClientCreateChatResponse messages.
- Added GlobalID base class for globally unique values (such as JobIDs, UGCHandles) in Steam.
- Updated EMsg list.
- Updated game related GC messages.
- Added initial support for the Steam Cloud file system with UFSClient. This feature should be considered unstable and may
have breaking changes in the future.
BREAKING CHANGES
- STATIC_CALLBACKS builds of SteamKit have now been completely removed.
- Message classes for unified messages have moved namespaces from SteamKit2.Steamworks to SteamKit2.Unified.Internal.
SteamKit 1.3.1
v1.3.1 (Mar 10, 2013)
- Fixed issue where the avatar hash of a clan was always null.
- Introduced better handling of networking related cryptographic exceptions.
- Updated EMsg list.
- Exposed SteamClient.JobCallback for external consumers.
- STATIC_CALLBACK builds of SteamKit and related code has been obsoleted and will be removed in the next version.
- Implemented GameID.ToString().
- Implemented game pass sending and recieving with SteamApps.SendGuestPass(), SteamApps.GuestPassListCallback, and
SteamApps.SendGuestPassCallback. - Implemented requesting Steam community profile info with SteamFriends.RequestProfileInfo(), and SteamFriends.ProfileInfoCallback
- CMClient now exposes a ConnectionTimeout field to control the timeout when connecting to Steam. The default timeout is 5 seconds.
- Updated the internal list of CM servers to help alleviate some issues with connecting to dead servers.
- Implemented SteamClient.CMListCallback to retrieve the current list of CM servers.
- Implemented initial support for unified messages through the SteamUnifiedMessages handler.
BREAKING CHANGES
- CMClient.Connect has been refactored significantly. It is no longer possible to use unencrypted connections. The Connect function
now accepts an IPEndPoint to allow consumers to specify which Steam server they wish to connect to. Along with this,
CMClient.Servers is now exposed as a collection of IPEndPoints, instead of IPAddresses. - SteamApps.PackageInfoCallback now exposes the immediate child KeyValue for the data, to be more consistent with
SteamApps.AppInfoCallback.
SteamKit 1.3.0
v1.3.0 (Jan 16, 2013)
- Fixed case where friend and chat messages were incorrectly trimming the last character.
- Steam2 ServerClient now exposes a IsConnected property.
- Steam2 ContentServerClient can now optionally not perform a server handshake when opening a storage session.
- Added various enums: EClanPermission, EMarketingMessageFlags, ENewsUpdateType, ESystemIMType, EChatFlags,
ERemoteStoragePlatform, EDRMBlobDownloadType, EDRMBlobDownloadErrorDetail, EClientStat, EClientStatAggregateMethod,
ELeaderboardDataRequest, ELeaderboardSortMethod, ELeaderboardUploadScoreMethod, and EChatPermission. - Fixed case where SteamKit was throwing an unhandled exception during Steam3 tcp connection teardown.
- Added PICS support to the SteamApps handler: PICSGetAccessTokens, PICSGetChangesSince, and PICSGetProductInfo.
- Added anonymous download support to CDNClient.
- Updated the following enums: EMsg, EUniverse, EChatEntryType, EPersonaState, EFriendRelationship, EFriendFlags,
EClientPersonaStateFlag, ELicenseFlags, ELicenseType, EPaymentMethod, EIntroducerRouting, EClanRank, EClanRelationship,
EAppInfoSection, EContentDownloadSourceType, EOSType, EServerType, ECurrencyCode, EDepotFileFlag, EEconTradeResponse,
ESystemIMType, ERemoteStoragePlatform, and EResult. - Exposed the following properties in SteamUser.LoggedOnCallback: CellIDPingThreshold, UsePICS, WebAPIUserNonce, and
IPCountryCode. - Fixed case where SteamKit was incorrectly handling certain logoff messages during Steam server unavailability.
- Fixed potential crash in Steam2 ContentServerClient when opening a storage session.
- Updated to latest protobuf-net.
BREAKING CHANGES
- DepotManifest.ChunkData.CRC is now named DepotManifest.ChunkData.Checksum.
SteamKit 1.2.2
v1.2.2 (Nov 11, 2012)
- Fixed critical issue that occured while serializing protobuf messages.