Skip to content

Releases: SteamRE/SteamKit

SteamKit 1.6.2

16 Dec 10:43
Compare
Choose a tag to compare
  • 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 to DebugLog and trigger SteamClient to disconnect.
  • Updated EMsg list.
  • Updated Steam protobufs.
  • Updated game-related GC messages and protobufs.

SteamKit 1.6.1

30 Nov 04:13
Compare
Choose a tag to compare

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 field NotModified.
  • Updated EMsg list.
  • Updated EOSType.
  • The short names for Windows versions (e.g. Win8 instead of Windows8) 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

12 Oct 03:24
Compare
Choose a tag to compare

v1.6.0 (Oct 11, 2014)

  • Updated EOSType for newer Linux and Windows versions.
  • A LoggedOnCallback with EResult.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 a DnsEndPoint.
  • 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 the SteamCloud 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 with Callback. 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 to RemoteJobID in order to not conflict with CallbackMsg's new JobID member.
  • UFSClient.UploadDetails.JobID has been renamed to RemoteJobID.
  • 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

16 Mar 05:04
Compare
Choose a tag to compare

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 the PublishedFile 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 and UseHttp.
  • Added EEconTradeResponse.InitiatorPasswordResetProbation and InitiatorNewDeviceCooldown.
  • Fixed SteamGameServer.LogOn and LogOnAnonymous 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

26 Oct 22:27
Compare
Choose a tag to compare

v1.5.0 (Oct 26, 2013)

  • Added DebugLog.ClearListeners().
  • Added WebAPI.AsyncInterface, a .NET TPL'd version of WebAPI.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 in SteamUser.LogOnDetails.
  • Added a helper API to SteamUnifiedMessages for service messages.
  • Fixed issue where CallbackManager was not triggering for JobCallback<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 and Manifest.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 to EOSType.Windows7.
  • EEconTradeResponse.InitiatorAlreadyTrading has been obsoleted and renamed to EEconTradeResponse.AlreadyTrading.
  • EEconTradeResponse.Error has been obsoleted and renamed to EEconTradeResponse.AlreadyHasTradeRequest.
  • EEconTradeResponse.Timeout has been obsoleted and renamed to EEconTradeResponse.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 a Steam2Ticket 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 DateTimes in callbacks are now DateTimeKind.Utc.

SteamKit 1.4.1

16 Jul 01:50
Compare
Choose a tag to compare

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

10 Jul 20:55
Compare
Choose a tag to compare

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

10 Jul 20:55
Compare
Choose a tag to compare

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

10 Jul 20:55
Compare
Choose a tag to compare

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

10 Jul 20:52
Compare
Choose a tag to compare

v1.2.2 (Nov 11, 2012)

  • Fixed critical issue that occured while serializing protobuf messages.