diff --git a/CHANGELOG.md b/CHANGELOG.md
index 818e3b9c..6f7886ef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,29 +5,25 @@
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
-## [2.0.0-alpha] - unreleased
-
-This is an alpha version! The changes listed here are not final.
-
+## [2.0.0] - 2025-01-10
 ### Added
-- Enable test coverage.
+- Enable test coverage. [#39961]
 
 ### Changed
-- General: indicate compatibility with the upcoming version of WordPress - 6.7.
-- Updated package dependencies.
+- General: Indicate compatibility with the upcoming version of WordPress - 6.7. [#39786]
+- Updated package dependencies. [#38822] [#38870] [#39004] [#39278] [#39288] [#39653] [#40116] [#40515]
 
 ### Removed
-- Cleaned up legacy code.
-- General: Update minimum PHP version to 7.2.
-- General: Update minimum WordPress version to 6.6.
+- Cleaned up legacy code. [#40200]
+- General: Update minimum PHP version to 7.2. [#40147]
+- General: Update minimum WordPress version to 6.6. [#40146]
 
 ### Fixed
-- Caching: make sure there is cache content to serve, even if the cache file was found
-- Ensure homepage cache gets flushed when a post is unpublished.
-- Lossless image optimization for images (should improve performance with no visible changes).
-- Move trailing space out of i18n message.
-- Revert recent SVG image optimizations.
-- Super Cache: Fixed the apache_request_headers fallback so it works when that command is disabled
+- Caching: make sure there is cache content to serve, even if the cache file was found [#40342]
+- Ensure homepage cache gets flushed when a post is unpublished. [#40879]
+- Lossless image optimization for images (should improve performance with no visible changes). [#38750] [#38981]
+- Move trailing space out of i18n message. [#39305]
+- Fix apache_request_headers fallback so it works when that command is disabled. [#39951]
 
 ## [1.12.4] - 2024-07-17
 ### Removed
@@ -788,7 +784,7 @@ This is an alpha version! The changes listed here are not final.
 
 Misc fixes
 
-[2.0.0-alpha]: https://github.com/Automattic/wp-super-cache/compare/v1.12.4...v2.0.0-alpha
+[2.0.0]: https://github.com/Automattic/wp-super-cache/compare/v1.12.4...v2.0.0
 [1.12.4]: https://github.com/Automattic/wp-super-cache/compare/v1.12.3...v1.12.4
 [1.12.3]: https://github.com/Automattic/wp-super-cache/compare/v1.12.2...v1.12.3
 [1.12.2]: https://github.com/Automattic/wp-super-cache/compare/v1.12.1...v1.12.2
diff --git a/composer.json b/composer.json
index a01371c0..2bfd0011 100644
--- a/composer.json
+++ b/composer.json
@@ -45,6 +45,6 @@
 		"wp-svn-autopublish": true
 	},
 	"config": {
-		"autoloader-suffix": "6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alpha"
+		"autoloader-suffix": "6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0"
 	}
 }
diff --git a/package.json b/package.json
index e0bcd6cc..dfdef9da 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
 	"private": true,
 	"name": "@automattic/jetpack-super-cache",
-	"version": "2.0.0-alpha",
+	"version": "2.0.0",
 	"description": "A very fast caching engine for WordPress that produces static html files.",
 	"homepage": "https://jetpack.com",
 	"bugs": {
diff --git a/readme.txt b/readme.txt
index 44fedef3..f6374d41 100644
--- a/readme.txt
+++ b/readme.txt
@@ -268,12 +268,25 @@ Your theme is probably responsive which means it resizes the page to suit whatev
 
 
 == Changelog ==
-### 1.12.4 - 2024-07-17
+### 2.0.0 - 2025-01-10
+#### Added
+- Enable test coverage.
+
+#### Changed
+- General: Indicate compatibility with the upcoming version of WordPress - 6.7.
+- Updated package dependencies.
+
 #### Removed
-- General: update WordPress version requirements to WordPress 6.5.
+- Cleaned up legacy code.
+- General: Update minimum PHP version to 7.2.
+- General: Update minimum WordPress version to 6.6.
 
 #### Fixed
-- Fixed problem with is_utf8_charset missing in WP 6.6
+- Caching: make sure there is cache content to serve, even if the cache file was found
+- Ensure homepage cache gets flushed when a post is unpublished.
+- Lossless image optimization for images (should improve performance with no visible changes).
+- Move trailing space out of i18n message.
+- Fix apache_request_headers fallback so it works when that command is disabled.
 
 --------
 
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 92986a15..9735e3a5 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -22,4 +22,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alpha::getLoader();
+return ComposerAutoloaderInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0::getLoader();
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index 54015451..48916405 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alpha
+class ComposerAutoloaderInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0
 {
     private static $loader;
 
@@ -24,12 +24,12 @@ public static function getLoader()
 
         require __DIR__ . '/platform_check.php';
 
-        spl_autoload_register(array('ComposerAutoloaderInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alpha', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
-        spl_autoload_unregister(array('ComposerAutoloaderInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alpha', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0', 'loadClassLoader'));
 
         require __DIR__ . '/autoload_static.php';
-        call_user_func(\Composer\Autoload\ComposerStaticInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alpha::getInitializer($loader));
+        call_user_func(\Composer\Autoload\ComposerStaticInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0::getInitializer($loader));
 
         $loader->setClassMapAuthoritative(true);
         $loader->register(true);
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index ac5da117..0bb45475 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alpha
+class ComposerStaticInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0
 {
     public static $classMap = array (
         'Automattic\\Jetpack\\Device_Detection' => __DIR__ . '/..' . '/automattic/jetpack-device-detection/src/class-device-detection.php',
@@ -15,7 +15,7 @@ class ComposerStaticInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alp
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->classMap = ComposerStaticInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0_alpha::$classMap;
+            $loader->classMap = ComposerStaticInit6fe342bc02f0b440f7b3c8d8ade42286_super_cacheⓥ2_0_0::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/wp-cache.php b/wp-cache.php
index 9968a488..a976034c 100644
--- a/wp-cache.php
+++ b/wp-cache.php
@@ -3,7 +3,7 @@
  * Plugin Name: WP Super Cache
  * Plugin URI: https://wordpress.org/plugins/wp-super-cache/
  * Description: Very fast caching plugin for WordPress.
- * Version: 2.0.0-alpha
+ * Version: 2.0.0
  * Author: Automattic
  * Author URI: https://automattic.com/
  * License: GPL2+