Merge branch 'develop' of github.com:EllisLab/CodeIgniter into develop
diff --git a/application/errors/error_404.php b/application/views/errors/error_404.php
similarity index 100%
rename from application/errors/error_404.php
rename to application/views/errors/error_404.php
diff --git a/application/errors/error_db.php b/application/views/errors/error_db.php
similarity index 100%
rename from application/errors/error_db.php
rename to application/views/errors/error_db.php
diff --git a/application/errors/error_general.php b/application/views/errors/error_general.php
similarity index 100%
rename from application/errors/error_general.php
rename to application/views/errors/error_general.php
diff --git a/application/errors/error_php.php b/application/views/errors/error_php.php
similarity index 100%
rename from application/errors/error_php.php
rename to application/views/errors/error_php.php
diff --git a/application/errors/index.html b/application/views/errors/index.html
similarity index 100%
rename from application/errors/index.html
rename to application/views/errors/index.html
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index 585bb7b..c8245fc 100755
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -101,17 +101,6 @@
 
 /*
  * ------------------------------------------------------
- *  Set a liberal script execution time limit
- * ------------------------------------------------------
- */
-	if (function_exists('set_time_limit') && @ini_get('safe_mode') == 0
-		&& php_sapi_name() !== 'cli') // Do not override the Time Limit value if running from Command Line
-	{
-		@set_time_limit(300);
-	}
-
-/*
- * ------------------------------------------------------
  *  Start the timer... tick tock tick tock...
  * ------------------------------------------------------
  */
diff --git a/system/core/Exceptions.php b/system/core/Exceptions.php
index 965a717..8c32085 100755
--- a/system/core/Exceptions.php
+++ b/system/core/Exceptions.php
@@ -143,7 +143,7 @@
 			ob_end_flush();
 		}
 		ob_start();
-		include(APPPATH.'errors/'.$template.'.php');
+		include(APPPATH.'views/errors/'.$template.'.php');
 		$buffer = ob_get_contents();
 		ob_end_clean();
 		return $buffer;
@@ -177,7 +177,7 @@
 			ob_end_flush();
 		}
 		ob_start();
-		include(APPPATH.'errors/error_php.php');
+		include(APPPATH.'views/errors/error_php.php');
 		$buffer = ob_get_contents();
 		ob_end_clean();
 		echo $buffer;
diff --git a/system/libraries/Cart.php b/system/libraries/Cart.php
index b73ed51..8270503 100644
--- a/system/libraries/Cart.php
+++ b/system/libraries/Cart.php
@@ -245,7 +245,7 @@
 		// This becomes the unique "row ID"
 		if (isset($items['options']) && count($items['options']) > 0)
 		{
-			$rowid = md5($items['id'].implode('', $items['options']));
+			$rowid = md5($items['id'].serialize($items['options']));
 		}
 		else
 		{
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 2b15c3f..e0d745f 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -37,6 +37,7 @@
       Only entries in ``$autoload['libraries']`` are auto-loaded now.
    -  Added some more doctypes.
    -  Updated all classes to be written in PHP 5 style, with visibility declarations and no ``var`` usage for properties.
+   -  Moved error templates to "application/views/errors"
 
 -  Helpers
 
diff --git a/user_guide_src/source/installation/upgrade_300.rst b/user_guide_src/source/installation/upgrade_300.rst
index e434e8d..63c4227 100644
--- a/user_guide_src/source/installation/upgrade_300.rst
+++ b/user_guide_src/source/installation/upgrade_300.rst
@@ -40,4 +40,9 @@
 
     $active_group = 'default';
     // $active_record = TRUE;
-    $query_builder = TRUE;
\ No newline at end of file
+    $query_builder = TRUE;
+    
+Step 5: Move your errors folder
+===============================
+
+In version 3.0.0, the errors folder has been moved from "application/errors" to "application/views/errors".
\ No newline at end of file