Add __isset() to CI_Session
diff --git a/system/libraries/Session/Session.php b/system/libraries/Session/Session.php
index 77c56ae..c9d2e8a 100644
--- a/system/libraries/Session/Session.php
+++ b/system/libraries/Session/Session.php
@@ -584,6 +584,24 @@
 	// ------------------------------------------------------------------------
 
 	/**
+	 * __isset()
+	 *
+	 * @param	string	$key	'session_id' or a session data key
+	 * @return	bool
+	 */
+	public function __isset($key)
+	{
+		if ($key === 'session_id')
+		{
+			return (session_status() === PHP_SESSION_ACTIVE);
+		}
+
+		return isset($_SESSION[$key]);
+	}
+
+	// ------------------------------------------------------------------------
+
+	/**
 	 * __set()
 	 *
 	 * @param	string	$key	Session data key
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index e88b68f..e235d2e 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -16,6 +16,7 @@
 -------------------
 
 -  Fixed a bug (#4516) - :doc:`Form Validation Library <libraries/form_validation>` always accepted empty array inputs.
+-  Fixed a bug where :doc:`Session Library <libraries/sessions>` allowed accessing ``$_SESSION`` values as class properties but ``isset()`` didn't work on them.
 
 Version 3.0.5
 =============