diff --git a/Changelog.md b/Changelog.md
index 786e693..61a1661 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -7,7 +7,7 @@ This file holds the changelog for Pepperminty Wiki. This is the master list of t
  - Added inter-wiki link support via the new `feature-interwiki-links` module
      - Added `interwiki_index_location` setting to control the location of the interwiki index (which is a CSV file that is documented in the main _Pepperminty Wiki_ documentation), which has to be specified in order for it to activate
      - Provides new module api functions: `interwiki_pagename_parse`, `interwiki_pagename_resolve`, `interwiki_get_pagename_url`, and `is_interwiki_link`
- - 
+ - Added CSV support to the `recent-changes` action.
 
 ### Changed
  - Completely reworked the README to refactor out the documentation to its [own static site](https://starbeamrainbowlabs.com/labs/peppermint/_docpress/)
diff --git a/build/index.php b/build/index.php
index 074e748..bf20fcb 100644
--- a/build/index.php
+++ b/build/index.php
@@ -409,7 +409,7 @@ if($settings->sessionprefix == "auto")
 /////////////////////////////////////////////////////////////////////////////
 /** The version of Pepperminty Wiki currently running. */
 $version = "v0.18-dev";
-$commit = "e350d1cc8efeab734f9347ec9fc6f1d1e20bed45";
+$commit = "6aa55c74bfe5a6dfffc96d3c7d8c041d4a707abd";
 /// Environment ///
 /** Holds information about the current request environment. */
 $env = new stdClass();
@@ -3706,7 +3706,7 @@ register_module([
 		 * @apiGroup Stats
 		 * @apiPermission Anonymous
 		 *
-		 * @apiParam	{string}	format	The format to return the recent changes in. Values: html, json. Default: html.
+		 * @apiParam	{string}	format	The format to return the recent changes in. Valid values: html, json, csv. Default: html.
 		 */
 		/*
 		 * ██████  ███████  ██████ ███████ ███    ██ ████████         
@@ -3745,6 +3745,22 @@ register_module([
 					header("content-length: " . strlen($result));
 					exit($result);
 					break;
+				case "csv":
+					if(empty($recent_changes)) {
+						http_response_code(404);
+						header("content-type: text/plain");
+						exit("No changes made been recorded yet. Make some changes and then come back later!");
+					}
+					
+					$result = fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+');
+					fputcsv($result, array_keys(get_object_vars($recent_changes[0])));
+					foreach($recent_changes as $recent_change)
+						fputcsv($result, array_values(get_object_vars($recent_change)));
+					rewind($result);
+					
+					header("content-type: text/csv");
+					header("content-length: " . fstat($result)["size"]);
+					echo(stream_get_contents($result));
 			}
 			
 			
diff --git a/module_index.json b/module_index.json
index 7d4ad66..89d8835 100755
--- a/module_index.json
+++ b/module_index.json
@@ -95,7 +95,7 @@
         "author": "Starbeamrainbowlabs",
         "description": "Adds recent changes. Access through the 'recent-changes' action.",
         "id": "feature-recent-changes",
-        "lastupdate": 1530617266,
+        "lastupdate": 1548353858,
         "optional": false
     },
     {
diff --git a/modules/feature-recent-changes.php b/modules/feature-recent-changes.php
index ae24bcc..44a3469 100644
--- a/modules/feature-recent-changes.php
+++ b/modules/feature-recent-changes.php
@@ -20,7 +20,7 @@ register_module([
 		 * @apiGroup Stats
 		 * @apiPermission Anonymous
 		 *
-		 * @apiParam	{string}	format	The format to return the recent changes in. Values: html, json. Default: html.
+		 * @apiParam	{string}	format	The format to return the recent changes in. Valid values: html, json, csv. Default: html.
 		 */
 		/*
 		 * ██████  ███████  ██████ ███████ ███    ██ ████████         
@@ -59,6 +59,22 @@ register_module([
 					header("content-length: " . strlen($result));
 					exit($result);
 					break;
+				case "csv":
+					if(empty($recent_changes)) {
+						http_response_code(404);
+						header("content-type: text/plain");
+						exit("No changes made been recorded yet. Make some changes and then come back later!");
+					}
+					
+					$result = fopen('php://temp/maxmemory:'. (5*1024*1024), 'r+');
+					fputcsv($result, array_keys(get_object_vars($recent_changes[0])));
+					foreach($recent_changes as $recent_change)
+						fputcsv($result, array_values(get_object_vars($recent_change)));
+					rewind($result);
+					
+					header("content-type: text/csv");
+					header("content-length: " . fstat($result)["size"]);
+					echo(stream_get_contents($result));
 			}
 			
 			
