Index: /CKReleaser/trunk/_source/ckreleaser.js
===================================================================
--- /CKReleaser/trunk/_source/ckreleaser.js	(revision 4591)
+++ /CKReleaser/trunk/_source/ckreleaser.js	(revision 4592)
@@ -56,4 +56,10 @@
 if ( arguments.length > 1 && ( arguments[arguments.length - 1] == '-v' || arguments[arguments.length - 1] == '--verbose' ) )
 	CKRELEASER.verbose = 1;
+
+for ( var i = 0 ; i < arguments.length ; i++ )
+{
+	if ( arguments[i].substr( 0, 21 ) == '--run-before-release=' )
+		CKRELEASER.runBeforeRelease = arguments[i].substr( 21 );
+}
 
 if ( arguments[0] == '-test' && !isCompiled )
Index: /CKReleaser/trunk/_source/includes/releaser.js
===================================================================
--- /CKReleaser/trunk/_source/includes/releaser.js	(revision 4591)
+++ /CKReleaser/trunk/_source/includes/releaser.js	(revision 4592)
@@ -480,4 +480,20 @@
 			CKRELEASER.io.copy( sourceDir, releaseDir );
 
+			if ( CKRELEASER.runBeforeRelease )
+			{
+				print( "\nExecuting tasks before release...\n" );
+				var o =
+				{
+					output : "",
+					err : ""
+				};
+				runCommand( CKRELEASER.runBeforeRelease, o );
+				print( o.output );
+
+				if ( o.err ) {
+					throw "Release process stopped, runBeforeRelease command returned errors:\n" + o.err;
+				}
+			}
+
 			if ( CKRELEASER.release.copy )
 			{
