diff --git a/CHANGELOG.md b/CHANGELOG.md
index e083fc44b..af236911f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,14 @@
-## Unreleased
-
-* Added support for lcov coverage report
-* Added a "coverageFormats" config option to choose which coverage reports to make
+## 2.2.0
+
+* Multicore fuzzing (#963, #1033, #1026, #1035)
+* Lcov format support (#1029)
+* Experimental power number generator for uints (#892)
+* Coverage collection optimization (#1003, #1041)
+* On-chain fuzzing improvements (#1017)
+* Refactored code (#1020, #1021)
+* Updated dependencies (#1022, #1023)
+* UI improvements (#1031, #1032, #1034, #1040)
+* Readme improvements (#1019)
 
 ## 2.1.1
 
diff --git a/package.yaml b/package.yaml
index 81a33cf6b..40c5cc4f2 100644
--- a/package.yaml
+++ b/package.yaml
@@ -3,7 +3,7 @@ name: echidna
 author: Trail of Bits <echidna-dev@trailofbits.com>
 maintainer: Trail of Bits <echidna-dev@trailofbits.com>
 
-version: 2.1.1
+version: 2.2.0
 
 # https://github.com/haskell/cabal/issues/4739
 ghc-options: -Wall -fno-warn-orphans -O2 -optP-Wno-nonportable-include-path