diff --git a/CHANGELOG.md b/CHANGELOG.md
index d9dc3c7e..0643a12d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,8 @@
 # Change Log
 
 ## [Unreleased]
+
+## [0.22.0] - 2020-06-20
 - [Changed] Update Actix to 2.0.0. Actix 1.0.0 is no longer supported.
   [#182](https://github.com/lambda-fairy/maud/pull/182)
 
@@ -227,7 +229,8 @@
 - [Fixed] Update to latest syntax extension API
 
 
-[Unreleased]: https://github.com/lambda-fairy/maud/compare/v0.21.0...HEAD
+[Unreleased]: https://github.com/lambda-fairy/maud/compare/v0.22.0...HEAD
+[0.22.0]: https://github.com/lambda-fairy/maud/compare/v0.21.0...v0.22.0
 [0.21.0]: https://github.com/lambda-fairy/maud/compare/v0.20.0...v0.21.0
 [0.20.0]: https://github.com/lambda-fairy/maud/compare/v0.19.0...v0.20.0
 [0.19.0]: https://github.com/lambda-fairy/maud/compare/v0.18.1...v0.19.0
diff --git a/benchmarks/Cargo.lock b/benchmarks/Cargo.lock
index bc5cb455..b0a747f1 100644
--- a/benchmarks/Cargo.lock
+++ b/benchmarks/Cargo.lock
@@ -65,7 +65,7 @@ dependencies = [
  "handlebars 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "horrorshow 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "liquid 0.20.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "maud 0.21.0",
+ "maud 0.22.0",
  "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde 1.0.113 (registry+https://github.com/rust-lang/crates.io-index)",
  "serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -366,10 +366,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "maud"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "maud_htmlescape 0.17.0",
- "maud_macros 0.21.0",
+ "maud_macros 0.22.0",
 ]
 
 [[package]]
@@ -378,7 +378,7 @@ version = "0.17.0"
 
 [[package]]
 name = "maud_macros"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "maud_htmlescape 0.17.0",
diff --git a/docs/Cargo.lock b/docs/Cargo.lock
index f0c48180..b1f4069a 100644
--- a/docs/Cargo.lock
+++ b/docs/Cargo.lock
@@ -154,7 +154,7 @@ name = "docs"
 version = "0.0.0"
 dependencies = [
  "comrak 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "maud 0.21.0",
+ "maud 0.22.0",
  "serde_json 1.0.55 (registry+https://github.com/rust-lang/crates.io-index)",
  "syntect 4.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
@@ -254,10 +254,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 
 [[package]]
 name = "maud"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "maud_htmlescape 0.17.0",
- "maud_macros 0.21.0",
+ "maud_macros 0.22.0",
 ]
 
 [[package]]
@@ -266,7 +266,7 @@ version = "0.17.0"
 
 [[package]]
 name = "maud_macros"
-version = "0.21.0"
+version = "0.22.0"
 dependencies = [
  "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "maud_htmlescape 0.17.0",
diff --git a/maud/Cargo.toml b/maud/Cargo.toml
index d825843d..4558fb6a 100644
--- a/maud/Cargo.toml
+++ b/maud/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "maud"
 # When releasing a new version, please update html_root_url in src/lib.rs
-version = "0.21.0"
+version = "0.22.0"
 authors = ["Chris Wong <lambda.fairy@gmail.com>"]
 license = "MIT/Apache-2.0"
 documentation = "https://docs.rs/maud/"
@@ -16,7 +16,7 @@ actix-web = ["actix-web-dep", "futures"]
 
 [dependencies]
 maud_htmlescape = { version = "0.17.0", path = "../maud_htmlescape" }
-maud_macros = { version = "0.21.0", path = "../maud_macros" }
+maud_macros = { version = "0.22.0", path = "../maud_macros" }
 iron = { version = ">= 0.5.1, < 0.7.0", optional = true }
 rocket = { version = ">= 0.3, < 0.5", optional = true }
 futures = { version = "0.3.0", optional = true }
diff --git a/maud/src/lib.rs b/maud/src/lib.rs
index e29c0be8..7838136e 100644
--- a/maud/src/lib.rs
+++ b/maud/src/lib.rs
@@ -7,7 +7,7 @@
 //!
 //! [book]: https://maud.lambda.xyz/
 
-#![doc(html_root_url = "https://docs.rs/maud/0.21.0")]
+#![doc(html_root_url = "https://docs.rs/maud/0.22.0")]
 
 #[cfg(feature = "actix-web")] extern crate actix_web_dep;
 #[cfg(feature = "iron")] extern crate iron;
diff --git a/maud_macros/Cargo.toml b/maud_macros/Cargo.toml
index 718914bb..6245a0bd 100644
--- a/maud_macros/Cargo.toml
+++ b/maud_macros/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "maud_macros"
 # When releasing a new version, please update html_root_url in src/lib.rs
-version = "0.21.0"
+version = "0.22.0"
 authors = ["Chris Wong <lambda.fairy@gmail.com>"]
 license = "MIT/Apache-2.0"
 documentation = "https://docs.rs/maud_macros/"
diff --git a/maud_macros/src/lib.rs b/maud_macros/src/lib.rs
index 96d72a6d..08c683f9 100644
--- a/maud_macros/src/lib.rs
+++ b/maud_macros/src/lib.rs
@@ -3,7 +3,7 @@
 #![feature(proc_macro_quote)]
 #![feature(proc_macro_span)]
 
-#![doc(html_root_url = "https://docs.rs/maud_macros/0.21.0")]
+#![doc(html_root_url = "https://docs.rs/maud_macros/0.22.0")]
 
 // TokenStream values are reference counted, and the mental overhead of tracking
 // lifetimes outweighs the marginal gains from explicit borrowing