Releases: SteamRE/SteamKit
Releases · SteamRE/SteamKit
SteamKit 2.5.0-Beta.2
- Added
GenerateAccessTokenForAppAsync
. (#1268) - Added
BalanceDelayed
andLongBalanceDelayed
inWalletInfoCallback
. (#1240) - Deprecated
WebAPIUserNonce
,RequestWebAPIUserNonce
,SendMachineAuthResponse
,UpdateMachineAuthCallback
. (#1270) - Update enums and protobufs. (#1230, #1264, #1269)
Bug Fixes
- Fixed
machine_id
on Windows to be consistent with the Steam client. (#1167) - Fixed SteamLanguageParser to generate BinaryWriter/Reader that gets disposed. (#1210)
- Fixed async jobs to use high precision timer for timeouts instead of wall clock. (#1281)
- Allowed
DuplicateRequest
inSendSteamGuardCodeAsync
. (#1212)
SteamKit 2.5.0-Beta.1
- Added
SteamApps.GetLegacyGameKey
. (#1071) - Added
SteamUser.PlayingSessionStateCallback
. (#1109) - Added ability to serialize depot manifests. (#1113)
- Added support for unauthenticated service methods. (#1126)
- Added
LogOnDetails.MachineName
. (#1183) - Added support for new Steam authentication system. (#1129)
- Improved TCP connection reliability. (#1102)
- Update enums and protobufs. (#1073, #1120, #1126, #1148, #1184, #1203)
Bug Fixes
SteamKit 2.4.1
- Fixed PersonaStateCallback nullability annotations. (#1067)
- Fixed SteamUnifiedMessages sending invalid notifications. (#1075)
BREAKING CHANGES:
- SteamUnifiedMessages.SendMessage(..., isNotification: true) will now return null rather than an AsyncJob, as notifications do not have job semantics. This method is obsolete and SendNotification(...) should be used instead. (#1075)
SteamKit 2.4.0
- Updated protobuf-net dependency to v3.0.
- Added a MemoryServerListProvider implementation. (#918)
- Added
CallProtobufAsync<T>
method to WebAPI to deserialize response as Protobuf instead of KeyValues. (#1021) - Added
SteamChinaOnly
flag to CDN server objects. (#1021) - Added new APIs to allow consumers to provide their own machine info. (#1028)
- Added
SteamUser.VanityUrlChangedCallback
. (#1035) - Added
SteamApps.PurchaseResponseCallback
. (#1033) - Added
SteamApps.RedeemGuestPassResponseCallback
. (#1033) - Added new
SteamContent
handler. (#1022, #1060) - Added the ability to set
ClientMsgProtoBuf<T>.Body
. (#1036) - SteamKit2 now ships a net6.0 assembly as well as a netstandard2.0 assembly. (#1049)
- Enabled strong name signing on the SteamKit2 assembly. (#897)
- Changed thread names to not get truncated on Linux. (#1015)
- Changed message handler exception handling to log the full
Exception
object rather than just the message. (#1052) - Changed the implementation of
SteamUnifiedMessages
to use the newer message protocol under the hood. (#1036) - Removed some DebugLog spam from WebSocket connections. (#1040)
- Updated C# nullability annotations. (#971)
- Updated Steam enums and protobufs. (#910, #911, #939, #957, #965, #973, #981, #1008, #1020, #1025, #1059, #1062)
Bug Fixes
- Fixed a race in
CMClient.Send
. (#913) - Fixed a race in
AsyncJob
registration. (#926) - Fixed an issue opening files in
IsolatedStorageServerListProvider
. - Fixed throwing an exception when calling WebAPI twice with the same arguments. (#992)
- Fixed WebAPI mutating the supplied arguments dictionary. (#995)
- Fixed cryptographic errors in .NET 6 previews. (#1006)
- Fixed
IDebugNetworkListener
not being given encryption handshake messages. (#1038) - Fixed a possible unhandled exception when opening a TCP connection. (#1047)
- Fixed the
UnobservedTaskException
event being triggered on .NET 6 if a TCP connection times out. (#1050) - Fixed WebSocket connections constructing an incorrect IPv6 URI. (#1055)
- Fixed
DisconnectedCallback.UserInitiated
being true when a connection was terminated due to an internal error. (#1053) - Fixed
SmartCMServerList
getting fixated on the first CM server when all servers are marked as bad.
BREAKING CHANGES
SteamWorkshop.EnumerateUserPublishedFiles
and its associated callback has been removed. (#973)SteamWorkshop.EnumerateUserSubscribedFiles
and its associated callback has been removed. (#973)SteamApps.PICSRequest
has been changed from a class to a struct, andonly_public
has been removed. (#911)- A non-final optional parameter has been removed from
SteamApps.PICSGetProductInfo
. For any caller that supplied - three unnamed arguments, this is a source-breaking change as the value for
onlyPublic
will now be passed to the - method parameter
metaDataOnly
. Please audit your code for any calls toPICSGetProductInfo
as the compiler will - not warn you about this change. (#911)
- Changed
SteamApps.GetPICSProductInfo
signature to now usePICSRequest
objects. (#1009) - Removed some old non-Protobuf messages. (#1037)
- Updated nullability to match latest BCL annotations and to fix .NET 6 SDK analysis warnings. (#1049)
SteamClient.AddHandler
will now throw anArgumentNullException
if the handler is null, rather than crashing on aNullReferenceException
. (#1049)- WebAPI will now throw an
ArgumentException
if themethod
parameter isnull
, rather than crashing on aNullReferenceException
. (#1049) - CDN timeouts options are now properties instead of fields. (#1049)
CDNClient
has been heavily refactored and is nowSteamKit2.CDN.Client
. (#1022)ClientMsgProtobuf
can now only be constructed from aPacketClientMsgProtobuf
. (#1036)- Removed
IClientMsg.Deserialize(...)
and implementations. (#1036) - Removed
ServiceMethodResponse.ResponseRaw
. (#1036) CDN.Server.AllowedAppIds
is now not-nullable. Check for empty instead. (#1021)
SteamKit 2.4.0-Beta.1
- Added
CallProtobufAsync<T>
method to WebAPI to deserialize response as Protobuf instead of KeyValues. (#1021) - Added
SteamChinaOnly
flag to CDN server objects. (#1021) - Added new APIs to allow consumers to provide their own machine info. (#1028)
- Added
SteamUser.VanityUrlChangedCallback
. (#1035) - Added
SteamApps.PurchaseResponseCallback
. (#1033) - Added
SteamApps.RedeemGuestPassResponseCallback
. (#1033) - Added new
SteamContent
handler. (#1022, #1060) - Added the ability to set
ClientMsgProtoBuf<T>.Body
. (#1036) - SteamKit2 now ships a net6.0 assembly as well as a netstandard2.0 assembly. (#1049)
- Changed thread names to not get truncated on Linux. (#1015)
- Changed message handler exception handling to log the full
Exception
object rather than just the message. (#1052) - Changed the implementation of
SteamUnifiedMessages
to use the newer message protocol under the hood. (#1036) - Fixed
IDebugNetworkListener
not being given encryption handshake messages. (#1038) - Fixed a possible unhandled exception when opening a TCP connection. (#1047)
- Fixed the
UnobservedTaskException
event being triggered on .NET 6 if a TCP connection times out. (#1050) - Fixed WebSocket connections constructing an incorrect IPv6 URI. (#1055)
- Fixed
DisconnectedCallback.UserInitiated
being true when a connection was terminated due to an internal error. (#1053) - Removed some DebugLog spam from WebSocket connections. (#1040)
- Updated Protobufs. (#1008, #1020, #1025, #1059)
BREAKING CHANGES
- Changed
SteamApps.GetPICSProductInfo
signature to now usePICSRequest
objects. (#1009) - Removed some old non-Protobuf messages. (#1037)
- Updated nullability to match latest BCL annotations and to fix .NET 6 SDK analysis warnings. (#1049)
SteamClient.AddHandler
will now throw anArgumentNullException
if the handler is null, rather than crashing on aNullReferenceException
. (#1049)- WebAPI will now throw an
ArgumentException
if themethod
parameter isnull
, rather than crashing on aNullReferenceException
. (#1049) - CDN timeouts options are now properties instead of fields. (#1049)
CDNClient
has been heavily refactored and is nowSteamKit2.CDN.Client
. (#1022)ClientMsgProtobuf
can now only be constructed from aPacketClientMsgProtobuf
. (#1036)- Removed
IClientMsg.Deserialize(...)
and implementations. (#1036) - Removed
ServiceMethodResponse.ResponseRaw
. (#1036) CDN.Server.AllowedAppIds
is now not-nullable. Check for empty instead. (#1021)
SteamKit 2.4.0-Alpha.3
- Fixed throwing an exception when calling WebAPI twice with the same arguments. (#992)
- Fixed WebAPI mutating the supplied arguments dictionary. (#995)
- Fixed cryptographic errors in .NET 6 previews. (#1006)
- Updated C# nullability annotations. (#971)
- Updated Steam enums and protobufs. (#911, #965, #973, #981)
BREAKING CHANGES
SteamWorkshop.EnumerateUserPublishedFiles
and its associated callback has been removed. (#973)SteamWorkshop.EnumerateUserSubscribedFiles
and its associated callback has been removed. (#973)SteamApps.PICSRequest
has been changed from a class to a struct, andonly_public
has been removed. (#911)- A non-final optional parameter has been removed from
SteamApps.PICSGetProductInfo
. For any caller that supplied
three unnamed arguments, this is a source-breaking change as the value foronlyPublic
will now be passed to the
method parametermetaDataOnly
. Please audit your code for any calls toPICSGetProductInfo
as the compiler will
not warn you about this change. (#911)
SteamKit 2.4.0-Alpha.2
- CDN: Updated interface to capture
preferred_server
,use_as_proxy
,proxy_request_path
andallowed_app_ids
. - CDN: CDNClient methods now accept an optional
proxyServer
parameter. - CDN: Separated the request timeout into configurable request/response timeouts.
- Added a MemoryServerListProvider implementation. (#918)
- Enabled strong name signing on the SteamKit2 assembly. (#897)
- Protocol/definition updates. (#910, #939, #957)
Bug Fixes
SteamKit 2.4.0-Alpha.1
- Updated protobuf-net dependency to v3.0.
- Updated Steam protobufs.
SteamKit 2.3.0
- Added
SteamMatchmaking
to manage matchmaking lobbies. (#704, #825, #828) - Added
ParentalSettings
toLoggedOnCallback
. (#707) - Added annotations for C#8 Nullable Reference Types. (#721)
- Added initial support for an IPv6-aware Steam network. (#770, #845)
- Added
SteamUser.EmailAddrInfoCallback
. (#836) - Added
DepotManifest.Deserialize()
. (#841) - Added new
Licence
fields toSteamApps
callbacks. (#844) - Added
CMClient.CurrentEndPoint
to expose currently connected remote server address. (#848) - Added full update fields to
PICSChangesCallback
. (#865) SteamUser.LogOn
will now use the Cell ID specified inSteamConfiguration
as a fallback. (#722)- SteamKit will now try skip a CM that responds to a logon attempt with
TryAnotherCM
orServiceUnavailable
. (#773) - Removed debug messages for each packet send/receive event. This can be accomplished through
NetHookNetworkListener
or a customerIDebugNetworkListener
instead. (#774) - Log messages now uniquely identify the related
SteamClient
object, where relevant. (#777) - Fixed incorrect Cell ID parameter in
ContentServerDirectoryService
. (#761) - Fixed a possible exception when calling
SteamApps
functions with duplicated inputs. (787) - Fixed Web API exceptions not including the numeric HTTP response code. (#779)
- Fixed a couple possible crashes. (#834)
- Updated Steam enums and protobufs. (#685, #729, #810, #820, #827, #849, #858, #864, #866)
BREAKING CHANGES
- Generated protobuf classes have changed slightly due to updating to a newer version of protobuf-net. (#686)
- Attributes vary slightly, particularly with regards to the
Name
property onProtoContractAttribute
,ProtoMemberAttribute
, andProtoEnumAttribute
. - For any given property, e.g. a property named
Foo
, the corresponding propertyFooSpecified
has been removed. UseShouldSerializeFoo()
instead. - Protobuf classes are no longer marked with the
[Serializable]
attribute.
- Attributes vary slightly, particularly with regards to the
- The
appid
parameter inSteamApps.GetDepotDecryptionKey
is no longer optional. (#689) CDNClient
no longer supports CS servers. Some public methods have had their signatures changed to accommodate this. (#725)WebAPI
no longer logs exceptions. Callers that want this information logged should log it themselves. (#847)SteamWorkshop.EnumeratePublishedFiles
has been removed. Use the unified APIIPublishedFile.QueryFiles
instead. (#827)- All classes in the
SteamKit2.Internal.Unified
namespace have moved toSteamKit2.Internal
. (#827)
SteamKit 2.3.0-beta.2
- Added
SteamMatchmaking
to manage matchmaking lobbies. (#704, #825, #828) - Added
ParentalSettings
toLoggedOnCallback
. (#707) - Added annotations for C#8 Nullable Reference Types. (#721)
- Added initial support for an IPv6-aware Steam network. (#770, #845)
- Added
SteamUser.EmailAddrInfoCallback
. (#836) - Added
DepotManifest.Deserialize()
. (#841) - Added new
Licence
fields toSteamApps
callbacks. (#844) - Added
CMClient.CurrentEndPoint
to expose currently connected remote server addess. (#848) SteamUser.LogOn
will now use the Cell ID specified inSteamConfiguration
as a fallback. (#722)- SteamKit will now try skip a CM that responds to a logon attempt with
TryAnotherCM
orServiceUnavailable
. (#773) - Removed debug messages for each packet send/recieve event. This can be accomplished through
NetHookNetworkListener
or a customerIDebugNetworkListener
instead. (#774) - Log messages now uniquely identify the related
SteamClient
object, where relevant. (#777) - Fixed incorrect Cell ID parameter in
ContentServerDirectoryService
. (#761) - Fixed a possible exception when calling
SteamApps
functions with duplicated inputs. (787) - Fixed Web API exceptions not including the numeric HTTP response code. (#779)
- Fixed a couple possible crashes. (#834)
- Updated Steam enums and protobufs. (#685, #729, #810, #820, #827, #849)
BREAKING CHANGES
- Generated protobuf classes have changed slightly due to updating to a newer version of protobuf-net. (#686)
- Attributes vary slightly, particularly with regards to the
Name
property onProtoContractAttribute
,ProtoMemberAttribute
, andProtoEnumAttribute
. - For any given property, e.g. a propery named
Foo
, the corresponding propertyFooSpecified
has been removed. UseShouldSerializeFoo()
instead. - Protobuf classes are no longer marked with the
[Serializable]
attribute.
- Attributes vary slightly, particularly with regards to the
- The
appid
parameter inSteamApps.GetDepotDecryptionKey
is no longer optional. (#689) CDNClient
no longer supports CS servers. Some public methods have had their signatures changed to accomodate this. (#725)WebAPI
no longer logs exceptions. Callers that want this information logged should log it themselves. (#847)SteamWorkshop.EnumeratePublishedFiles
has been removed. Use the unified APIIPublishedFile.QueryFiles
instead. (#827)