From a4a0157a06b844e0a9f0949f0c6b937e65d75c5d Mon Sep 17 00:00:00 2001 From: Yaakov Date: Wed, 17 Nov 2021 20:46:06 +1100 Subject: [PATCH 1/6] Prepare for 2.4.0-Beta.1 release --- SteamKit2/SteamKit2/SteamKit2.csproj | 2 +- SteamKit2/SteamKit2/changes.txt | 47 ++++++++++++++++++++++------ 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/SteamKit2/SteamKit2/SteamKit2.csproj b/SteamKit2/SteamKit2/SteamKit2.csproj index 28bbc467a..61c3c2fa3 100644 --- a/SteamKit2/SteamKit2/SteamKit2.csproj +++ b/SteamKit2/SteamKit2/SteamKit2.csproj @@ -5,7 +5,7 @@ ..\..\SteamKit.snk true .NET library that aims to interoperate with the Steam network. - Release notes are available at https://github.com/SteamRE/SteamKit/releases/tag/2.4.0-Alpha.3 + Release notes are available at https://github.com/SteamRE/SteamKit/releases/tag/2.4.0-Beta.1 steamkit_logo_128.png https://github.com/SteamRE/SteamKit LGPL-2.1-only diff --git a/SteamKit2/SteamKit2/changes.txt b/SteamKit2/SteamKit2/changes.txt index 09a8ad6d7..a41761d67 100644 --- a/SteamKit2/SteamKit2/changes.txt +++ b/SteamKit2/SteamKit2/changes.txt @@ -1,3 +1,32 @@ +------------------------------------------------------------------------------ +v 2.4.0 November 17 2021 (Beta 1) +------------------------------------------------------------------------------ +* Added `CallProtobufAsync` method to WebAPI to deserialize response as Protobuf instead of KeyValues. +* Added `SteamChinaOnly` flag to CDN server objects. +* Added new APIs to allow consumers to provide their own machine info. +* Added `SteamUser.VanityUrlChangedCallback`. +* Added `SteamApps.PurchaseResponseCallback`. +* Added `SteamApps.RedeemGuestPassResponseCallback`. +* SteamKit2 now ships a net6.0 assembly as well as a netstandard2.0 assembly. +* Changed thread names to not get truncated on Linux. +* Changed message handler exception handling to log the full `Exception` object rather than just the message. +* Changed the implementation of `SteamUnifiedMessages` to use the newer message protocol under the hood. +* Fixed `IDebugNetworkListener` not being given encryption handshake messages. +* Fixed a possible unhandled exception when opening a TCP connection. +* Fixed the `UnobservedTaskException` event being triggered on .NET 6 if a TCP connection times out. +* Removed some DebugLog spam from WebSocket connections. +* Updated Protobufs. + +BREAKING CHANGES +* Changed `SteamApps.GetPICSProductInfo` signature to now use `PICSRequest` objects. +* Removed some old non-Protobuf messages. +* Updated nullability to match latest BCL annotations to fix .NET 6 SDK analysis warnings. +* `SteamClient.AddHandler` will now throw an `ArgumentNullException` if the handler is null, rather than crashing on a `NullReferenceException`. +* WebAPI will now throw an `ArgumentException` if the `method` parameter is `null`, rather than crashing on a `NullReferenceException`. +* CDN timeouts options are now properties instead of fields. +* `CDNClient` has been heavily refactored and is now `SteamKit2.CDN.Client`. + + ------------------------------------------------------------------------------ v 2.4.0 July 29 2021 (Alpha 3) ------------------------------------------------------------------------------ @@ -20,17 +49,17 @@ BREAKING CHANGES ------------------------------------------------------------------------------ v 2.4.0 March 9, 2021 (Alpha 2) ------------------------------------------------------------------------------ -- CDN: Updated interface to capture `preferred_server`, `use_as_proxy`, `proxy_request_path` and `allowed_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. -- Enabled strong name signing on the SteamKit2 assembly. -- Protocol/definition updates. +* CDN: Updated interface to capture `preferred_server`, `use_as_proxy`, `proxy_request_path` and `allowed_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. +* Enabled strong name signing on the SteamKit2 assembly. +* Protocol/definition updates. Bug Fixes -- Fixed a race in CMClient.Send. -- Fixed a race in AsyncJob registration. -- Fixed an issue opening files in IsolatedStorageServerListProvider. +* Fixed a race in CMClient.Send. +* Fixed a race in AsyncJob registration. +* Fixed an issue opening files in IsolatedStorageServerListProvider. ------------------------------------------------------------------------------ From 0a9447784ed4ebf308ac1d4d7ce6651be2eecbec Mon Sep 17 00:00:00 2001 From: Yaakov Date: Wed, 17 Nov 2021 21:02:32 +1100 Subject: [PATCH 2/6] Add some more release notes --- SteamKit2/SteamKit2/changes.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SteamKit2/SteamKit2/changes.txt b/SteamKit2/SteamKit2/changes.txt index a41761d67..1f7aaf509 100644 --- a/SteamKit2/SteamKit2/changes.txt +++ b/SteamKit2/SteamKit2/changes.txt @@ -7,6 +7,8 @@ v 2.4.0 November 17 2021 (Beta 1) * Added `SteamUser.VanityUrlChangedCallback`. * Added `SteamApps.PurchaseResponseCallback`. * Added `SteamApps.RedeemGuestPassResponseCallback`. +* Added new `SteamContent` handler. +* Added the ability to set `ClientMsgProtoBuf.Body`. * SteamKit2 now ships a net6.0 assembly as well as a netstandard2.0 assembly. * Changed thread names to not get truncated on Linux. * Changed message handler exception handling to log the full `Exception` object rather than just the message. @@ -25,7 +27,9 @@ BREAKING CHANGES * WebAPI will now throw an `ArgumentException` if the `method` parameter is `null`, rather than crashing on a `NullReferenceException`. * CDN timeouts options are now properties instead of fields. * `CDNClient` has been heavily refactored and is now `SteamKit2.CDN.Client`. - +* `ClientMsgProtobuf` can now only be constructed from a `PacketClientMsgProtobuf`. +* Removed `IClientMsg.Deserialize(...)` and implementations. +* Removed `ServiceMethodResponse.ResponseRaw`. ------------------------------------------------------------------------------ v 2.4.0 July 29 2021 (Alpha 3) From e3f5b50d52fad89a0ef65006cc2f680008aac4a0 Mon Sep 17 00:00:00 2001 From: Yaakov Date: Wed, 17 Nov 2021 21:08:04 +1100 Subject: [PATCH 3/6] nearly forgot about this (dont tell xpaw) --- SteamKit2/SteamKit2/changes.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/SteamKit2/SteamKit2/changes.txt b/SteamKit2/SteamKit2/changes.txt index 1f7aaf509..c113aed92 100644 --- a/SteamKit2/SteamKit2/changes.txt +++ b/SteamKit2/SteamKit2/changes.txt @@ -16,6 +16,7 @@ v 2.4.0 November 17 2021 (Beta 1) * Fixed `IDebugNetworkListener` not being given encryption handshake messages. * Fixed a possible unhandled exception when opening a TCP connection. * Fixed the `UnobservedTaskException` event being triggered on .NET 6 if a TCP connection times out. +* Fixed WebSocket connections constructing an incorrect IPv6 URI. * Removed some DebugLog spam from WebSocket connections. * Updated Protobufs. From f0204cf82e4e141c4b3942bc37b9184fc9cd5b52 Mon Sep 17 00:00:00 2001 From: Yaakov Date: Wed, 17 Nov 2021 21:14:37 +1100 Subject: [PATCH 4/6] and --- SteamKit2/SteamKit2/changes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SteamKit2/SteamKit2/changes.txt b/SteamKit2/SteamKit2/changes.txt index c113aed92..64f5f61c4 100644 --- a/SteamKit2/SteamKit2/changes.txt +++ b/SteamKit2/SteamKit2/changes.txt @@ -23,7 +23,7 @@ v 2.4.0 November 17 2021 (Beta 1) BREAKING CHANGES * Changed `SteamApps.GetPICSProductInfo` signature to now use `PICSRequest` objects. * Removed some old non-Protobuf messages. -* Updated nullability to match latest BCL annotations to fix .NET 6 SDK analysis warnings. +* Updated nullability to match latest BCL annotations and to fix .NET 6 SDK analysis warnings. * `SteamClient.AddHandler` will now throw an `ArgumentNullException` if the handler is null, rather than crashing on a `NullReferenceException`. * WebAPI will now throw an `ArgumentException` if the `method` parameter is `null`, rather than crashing on a `NullReferenceException`. * CDN timeouts options are now properties instead of fields. From b2543bdf933a7161d7310d53e73fa2b564f2f86a Mon Sep 17 00:00:00 2001 From: Yaakov Date: Thu, 18 Nov 2021 09:34:31 +1100 Subject: [PATCH 5/6] Add AllowedAppIds to breaking changes list --- SteamKit2/SteamKit2/changes.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SteamKit2/SteamKit2/changes.txt b/SteamKit2/SteamKit2/changes.txt index 64f5f61c4..410ff5efe 100644 --- a/SteamKit2/SteamKit2/changes.txt +++ b/SteamKit2/SteamKit2/changes.txt @@ -31,6 +31,8 @@ BREAKING CHANGES * `ClientMsgProtobuf` can now only be constructed from a `PacketClientMsgProtobuf`. * Removed `IClientMsg.Deserialize(...)` and implementations. * Removed `ServiceMethodResponse.ResponseRaw`. +* `CDN.Server.AllowedAppIds` is now not-nullable. Check for empty instead. + ------------------------------------------------------------------------------ v 2.4.0 July 29 2021 (Alpha 3) From 1a6b3059a27d0e12f026674c59c656c5d82e2959 Mon Sep 17 00:00:00 2001 From: Yaakov Date: Thu, 18 Nov 2021 15:25:15 +1100 Subject: [PATCH 6/6] Add 1053 --- SteamKit2/SteamKit2/changes.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/SteamKit2/SteamKit2/changes.txt b/SteamKit2/SteamKit2/changes.txt index 410ff5efe..c38cf817d 100644 --- a/SteamKit2/SteamKit2/changes.txt +++ b/SteamKit2/SteamKit2/changes.txt @@ -17,6 +17,7 @@ v 2.4.0 November 17 2021 (Beta 1) * Fixed a possible unhandled exception when opening a TCP connection. * Fixed the `UnobservedTaskException` event being triggered on .NET 6 if a TCP connection times out. * Fixed WebSocket connections constructing an incorrect IPv6 URI. +* Fixed `DisconnectedCallback.UserInitiated` being true when a connection was terminated due to an internal error. * Removed some DebugLog spam from WebSocket connections. * Updated Protobufs.