Merge branch 'feature/sess_db_destroy' into 3.1-stable
diff --git a/system/core/Loader.php b/system/core/Loader.php
index acfc739..5ed6adb 100644
--- a/system/core/Loader.php
+++ b/system/core/Loader.php
@@ -590,7 +590,7 @@
 		{
 			$filename = basename($helper);
 			$filepath = ($filename === $helper) ? '' : substr($helper, 0, strlen($helper) - strlen($filename));
-			$filename = strtolower(preg_replace('#(_helper)?(.php)?$#i', '', $filename)).'_helper';
+			$filename = strtolower(preg_replace('#(_helper)?(\.php)?$#i', '', $filename)).'_helper';
 			$helper   = $filepath.$filename;
 
 			if (isset($this->_ci_helpers[$helper]))
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 64ebd61..ab94d67 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -15,6 +15,7 @@
 -------------------
 
 -  Fixed a regression (#4975) - :doc:`Loader Library <libraries/loader>` couldn't handle objects passed as view variables.
+-  Fixed a bug (#4977) - :doc:`Loader Library <libraries/loader>` method ``helper()`` could accept any character as a filename extension separator.
 
 Version 3.1.3
 =============