diff --git a/SteamKit2/SteamKit2/SteamKit2.csproj b/SteamKit2/SteamKit2/SteamKit2.csproj
index 2f58cf987..92c9f5b58 100644
--- a/SteamKit2/SteamKit2/SteamKit2.csproj
+++ b/SteamKit2/SteamKit2/SteamKit2.csproj
@@ -4,7 +4,7 @@
netstandard2.0
false
..\..\SteamKit.snk
- Release notes are available at https://github.com/SteamRE/SteamKit/releases/tag/SteamKit_1.8.1
+ Release notes are available at https://github.com/SteamRE/SteamKit/releases/tag/2.0.0-Beta.1
https://raw.github.com/SteamRE/SteamKit/master/Resources/Misc/steamkit_logo_128.png
https://github.com/SteamRE/SteamKit
https://github.com/SteamRE/SteamKit/blob/master/SteamKit2/SteamKit2/license.txt
diff --git a/SteamKit2/SteamKit2/changes.txt b/SteamKit2/SteamKit2/changes.txt
index e5e6bb810..2371e90cc 100644
--- a/SteamKit2/SteamKit2/changes.txt
+++ b/SteamKit2/SteamKit2/changes.txt
@@ -1,14 +1,44 @@
------------------------------------------------------------------------------
-v 2.0.0 Mar 28, 2017 (Alpha)
-------------------------------------------------------------------------------
-* SteamKit2 now requires .NET Framework 4.6 or a .NET Standard 1.3-compatible runtime.
- * SteamKit2 is now supported on .NET Core.
- * `IsolatedStorageServerListProvider` is only available in .NET Framework 4.6 and higher.
-
+v 2.0.0 Oct 14, 2017 (Beta)
+------------------------------------------------------------------------------
+* SteamKit 2.0 now targets .NET Standard 2.0. This means it now requires .NET Framework 4.6.1 or higher, .NET Core 2.0 or higher, or any other .NET Standard 2.0-compatible runtime.
+* Added support for WebSocket client connections.
+ * Server List treats WebSocket, TCP and UDP independently, even for the same server.
+ * If a server is not reachable on TCP, SteamKit will still attempt UDP and vice-versa.
+* Added `SteamConfiguration`, which replaces the previous assortment of individual configuration properties and parameters.
+ * If the `SteamConfiguration` permits both TCP and UDP, both can now be used (depending on server ranking).
+ * See the Breaking Changes section below for further details.
+* Added `ArgumentNullException` to the public API surface when passing null into methods that would have previously triggered a `NullReferenceException`.
* Updated Protobuf message classes to expose a property indicating if any wire value was specified or not, and a method to clear the value.
-* Updated `CDNClient` and `WebAPI` to expose `Task`-based asynchronous methods.
-* Removed all methods, properties and enum values that were marked as `[Obsolete]`.
-* Removed `MsgClientSendGuestPass`, `MsgClientSendGuestPassResponse` and `SendGuestPassCallback` which relied upon obsoleted messaging.
+* Updated game-related GC messages and protobufs.
+* Updated Steam enums and protobufs.
+* Fixed no callback being fired when calling `SteamUserStats.GetLeaderboardEntries` .
+* Fixed a crash if we encountered a message that's too small to actually contain a message.
+* Fixed user's name being changed to `[unassigned]` if `SteamFriends.SetPersonaState()` is called too early.
+* Fixed order of handlers being non-deterministic.
+* Fixed exception when using `SteamUnifiedMessages.UnifiedService<>.SendMessage`.
+
+BREAKING CHANGES
+
+* Removed all methods and properties that were marked as `[Obsolete]`.
+* The `SteamClient` constructor now accepts a `SteamConfiguration` object, which is a container for various configuration settings.
+ * If you were using the `SteamClient` constructor to specify a specific protocol type (TCP or UDP), use `SteamConfiguration` instead.
+ * If you were using various properties to modify timeouts etc., use `SteamConfiguration` instead.
+ * If you do not provide a `SteamConfiguration` when constructing a `SteamClient`, the server list will be private to that `SteamClient` instance.
+ * If you create multiple clients from a single configuration, the server list will be shared among those clients.
+ * `SteamClient.ConnectedUniverse` is now `SteamClient.Universe`. This is now set from the configuration, and is no longer `EUniverse.Invalid` when not connected.
+ * `SteamClient.ConnectionTimeout` is now read-only. Setting this property is now performed on `SteamConfiguration`.
+* Removed `SteamClient.ConnectedCallback.EResult`, as it could only ever be `EResult.OK`.
+* Servers are now represented by `ServerRecord` objects, not IP addresses.
+ * `CMListCallback` now returns a collection of `ServerRecord` objects, not IP addresses.
+ * `CMListCallback` now also includes WebSocket servers.
+ * `SteamClient.Connect` now optionally accepts a `ServerRecord` instead of optionally accepting an `IPEndPoint`. You can create a `ServerRecord` for a particular protocol type or set of protocol types.
+ * `IServerListProvider` now deals with `ServerRecord`s instead of `IPEndPoint`s.
+* Disabling server list fetching from the directory is now done via `SteamConfiguration` instead of `SmartCMServerList`.
+* `SteamDirectory` helper methods now accept a `SteamConfiguration` rather than just a cellid.
+* `SteamFriends.GetPersonaName()`, `SteamFriends.GetFriendPersonaName` and `SteamFriends.GetClanName` can all now return null if the value is unknown.
+* `WebAPI` used to throw a `WebException` on non-success status code, or other failure. It now throws `HttpRequestException`.
+* `CDNClient` and `WebAPI` now expose `Task`-based asynchronous methods. This replaces the previous synchronous methods.
------------------------------------------------------------------------------