diff --git a/CHANGELOG.md b/CHANGELOG.md
index ab1af2932bce059334d98b8e8f6fc474887bbcc4..72a043db8096121394f00e5f6ddee19cf7c6a5d2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,24 @@
 # Changelog
 
+## [0.7.0] -- 2022-03-09
+
+- Allow querying a reusable server url for the current server
+- Explicit SSO identity providers
+- Reasons for redactions
+- Treat all exceptions as errors
+- Support hidden read receipts
+- Support fetching the current room state
+- Stabilize registration tokens
+- Widget events
+- Support the space hierarchy API
+- Allow checking a usernames availability
+- Allow querying registration flows ahead of time
+- Properly validate matrix ids
+- Fix ambiguous conversion of pushrule actions
+- Reduce copies for pushrules
+- Remove mentions of Boost.ASIO
+- Fix documentation
+
 ## [0.6.2] -- 2022-02-22
 
 - Fix exception on "new" version string format
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2c0facbb7e4fb49d134437d05532b4ec63576cbb..777575cab4af4021a9c2a4790378341082ecfc32 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,12 +38,12 @@ option(USE_BUNDLED_SPDLOG "Use the bundled version of spdlog." ${HUNTER_ENABLED}
 
 if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.12)
 project(matrix_client
-	VERSION 0.6.2
+	VERSION 0.7.0
 	DESCRIPTION "Client API library for Matrix."
 	HOMEPAGE_URL https://github.com/Nheko-Reborn/mtxclient)
 else()
 project(matrix_client
-	VERSION 0.6.2
+	VERSION 0.7.0
 	DESCRIPTION "Client API library for Matrix.")
 endif()
 
diff --git a/appveyor.yml b/appveyor.yml
index c2215a9e661c7bf4e77a285be75d5a67600c2630..845c6b6a3600254ffb0e0c0d6fb17f8cda803515 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,6 +1,6 @@
 ---
 
-version: 0.6.2-{build}
+version: 0.7.0-{build}
 
 configuration: Release
 image: Visual Studio 2019
diff --git a/lib/http/client.cpp b/lib/http/client.cpp
index b73b47d6bea62c48794fffa74d2728d9cd4fc160..be837028a8f5b075fb625dc7e887433b76edcc80 100644
--- a/lib/http/client.cpp
+++ b/lib/http/client.cpp
@@ -55,7 +55,7 @@ coeurl::Headers
 mtx::http::Client::prepare_headers(bool requires_auth)
 {
     coeurl::Headers headers;
-    headers["User-Agent"] = "mtxclient v0.6.2";
+    headers["User-Agent"] = "mtxclient v0.7.0";
 
     if (requires_auth && !access_token_.empty())
         headers["Authorization"] = "Bearer " + access_token();
diff --git a/meson.build b/meson.build
index 37a41e1bda02df6789bcde23a30ad4daf555108c..fdb8aa53f749f52a06acdaed6732f03f0d64c990 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
 project(
   'mtxclient',
   'cpp',
-version : '0.6.2',
+version : '0.7.0',
 meson_version : '>=0.57.0',
 license : 'MIT',
 default_options : 'cpp_std=c++17'