Index: tags/2.6.2/wp-admin/css/press-this-ie.css
===================================================================
--- tags/2.6.1/wp-admin/css/press-this-ie.css	(revision 8849)
+++ tags/2.6.2/wp-admin/css/press-this-ie.css	(revision 8849)
@@ -1,3 +1,2 @@
-
 #posting {
  	position: static !important;
Index: tags/2.6.2/wp-admin/import/textpattern.php
===================================================================
--- tags/2.6.1/wp-admin/import/textpattern.php	(revision 8849)
+++ tags/2.6.2/wp-admin/import/textpattern.php	(revision 8849)
@@ -334,5 +334,5 @@
 				$category1 = $category1->term_id;
 				$category2 = get_category_by_slug($Category2);
-				$category2 = $category1->term_id;
+				$category2 = $category2->term_id;
 				if($cat1 = $category1) { $cats[1] = $cat1; }
 				if($cat2 = $category2) { $cats[2] = $cat2; }
Index: tags/2.6.2/wp-admin/includes/image.php
===================================================================
--- tags/2.6.1/wp-admin/includes/image.php	(revision 8849)
+++ tags/2.6.2/wp-admin/includes/image.php	(revision 8849)
@@ -220,15 +220,15 @@
 			$iptc = iptcparse($info['APP13']);
 			if ( !empty($iptc['2#110'][0]) ) // credit
-				$meta['credit'] = trim( $iptc['2#110'][0] );
+				$meta['credit'] = utf8_encode(trim($iptc['2#110'][0]));
 			elseif ( !empty($iptc['2#080'][0]) ) // byline
-				$meta['credit'] = trim( $iptc['2#080'][0] );
+				$meta['credit'] = utf8_encode(trim($iptc['2#080'][0]));
 			if ( !empty($iptc['2#055'][0]) and !empty($iptc['2#060'][0]) ) // created datee and time
 				$meta['created_timestamp'] = strtotime($iptc['2#055'][0] . ' ' . $iptc['2#060'][0]);
 			if ( !empty($iptc['2#120'][0]) ) // caption
-				$meta['caption'] = trim( $iptc['2#120'][0] );
+				$meta['caption'] = utf8_encode(trim($iptc['2#120'][0]));
 			if ( !empty($iptc['2#116'][0]) ) // copyright
-				$meta['copyright'] = trim( $iptc['2#116'][0] );
+				$meta['copyright'] = utf8_encode(trim($iptc['2#116'][0]));
 			if ( !empty($iptc['2#005'][0]) ) // title
-				$meta['title'] = trim( $iptc['2#005'][0] );
+				$meta['title'] = utf8_encode(trim($iptc['2#005'][0]));
 		 }
 	}
Index: tags/2.6.2/wp-admin/includes/template.php
===================================================================
--- tags/2.6.1/wp-admin/includes/template.php	(revision 8849)
+++ tags/2.6.2/wp-admin/includes/template.php	(revision 8849)
@@ -716,5 +716,5 @@
 			ORDER BY comment_date_gmt DESC LIMIT $start, $num");
 	} else {
-		$comments = $wpdb->get_results( "SELECT SQL_CALC_FOUND_ROWS * FROM $wpdb->comments USE INDEX (comment_date_gmt) WHERE $approved ORDER BY comment_date_gmt DESC LIMIT $start, $num" );
+		$comments = $wpdb->get_results( "SELECT SQL_CALC_FOUND_ROWS * FROM $wpdb->comments WHERE $approved ORDER BY comment_date_gmt DESC LIMIT $start, $num" );
 	}
 
Index: tags/2.6.2/wp-includes/formatting.php
===================================================================
--- tags/2.6.1/wp-includes/formatting.php	(revision 8849)
+++ tags/2.6.2/wp-includes/formatting.php	(revision 8849)
@@ -332,4 +332,7 @@
 	if ( $strict )
 		$username = preg_replace('|[^a-z0-9 _.\-@]|i', '', $username);
+
+	// Consolidate contiguous whitespace
+	$username = preg_replace('|\s+|', ' ', $username);
 
 	return apply_filters('sanitize_user', $username, $raw_username, $strict);
Index: tags/2.6.2/wp-includes/pluggable.php
===================================================================
--- tags/2.6.1/wp-includes/pluggable.php	(revision 8849)
+++ tags/2.6.2/wp-includes/pluggable.php	(revision 8849)
@@ -1290,6 +1290,48 @@
 	$password = '';
 	for ( $i = 0; $i < $length; $i++ )
-		$password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
+		$password .= substr($chars, wp_rand(0, strlen($chars) - 1), 1);
 	return $password;
+}
+endif;
+
+if ( !function_exists('wp_rand') ) :
+ /**
+ * Generates a random number
+ *
+ * @since 2.6.2
+ *
+ * @param int $min Lower limit for the generated number (optional, default is 0)
+ * @param int $max Upper limit for the generated number (optional, default is 4294967295)
+ * @return int A random number between min and max
+ */
+function wp_rand( $min = 0, $max = 0 ) {
+	global $rnd_value;
+
+	$seed = get_option('random_seed');
+
+	// Reset $rnd_value after 14 uses
+	// 32(md5) + 40(sha1) + 40(sha1) / 8 = 14 random numbers from $rnd_value
+	if ( strlen($rnd_value) < 8 ) {
+		$rnd_value = md5( uniqid(microtime() . mt_rand(), true ) . $seed );
+		$rnd_value .= sha1($rnd_value);
+		$rnd_value .= sha1($rnd_value . $seed);
+		$seed = md5($seed . $rnd_value);
+		update_option('random_seed', $seed);
+	}
+
+	// Take the first 8 digits for our value
+	$value = substr($rnd_value, 0, 8);
+
+	// Strip the first eight, leaving the remainder for the next call to wp_rand().
+	$rnd_value = substr($rnd_value, 8);
+
+	$value = abs(hexdec($value));
+
+	// Reduce the value to be within the min - max range
+	// 4294967295 = 0xffffffff = max random number
+	if ( $max != 0 )
+		$value = $min + (($max - $min + 1) * ($value / (4294967295 + 1)));
+
+	return abs(intval($value)); 
 }
 endif;
Index: tags/2.6.2/wp-includes/post.php
===================================================================
--- tags/2.6.1/wp-includes/post.php	(revision 8849)
+++ tags/2.6.2/wp-includes/post.php	(revision 8849)
@@ -466,5 +466,5 @@
 		'exclude' => '', 'meta_key' => '',
 		'meta_value' =>'', 'post_type' => 'post',
-		'post_parent' => 0
+		'post_parent' => 0, 'suppress_filters' => true
 	);
 
@@ -595,25 +595,18 @@
 	$meta_cache = wp_cache_get($post_id, 'post_meta');
 
+	if ( !$meta_cache ) {
+		update_postmeta_cache($post_id);
+		$meta_cache = wp_cache_get($post_id, 'post_meta');
+	}
+
 	if ( isset($meta_cache[$key]) ) {
 		if ( $single ) {
 			return maybe_unserialize( $meta_cache[$key][0] );
 		} else {
-			return maybe_unserialize( $meta_cache[$key] );
-		}
-	}
-
-	if ( !$meta_cache ) {
-		update_postmeta_cache($post_id);
-		$meta_cache = wp_cache_get($post_id, 'post_meta');
-	}
-
-	if ( $single ) {
-		if ( isset($meta_cache[$key][0]) )
-			return maybe_unserialize($meta_cache[$key][0]);
-		else
-			return '';
-	} else {
-		return maybe_unserialize($meta_cache[$key]);
-	}
+			return array_map('maybe_unserialize', $meta_cache[$key]);
+		}
+	}
+
+	return '';
 }
 
@@ -3298,5 +3291,5 @@
 		return;
 
-	if ( isset($post['post_type']) && 'revision' == $post_post['type'] )
+	if ( isset($post['post_type']) && 'revision' == $post['post_type'] )
 		return new WP_Error( 'post_type', __( 'Cannot create a revision of a revision' ) );
 
Index: tags/2.6.2/wp-includes/query.php
===================================================================
--- tags/2.6.1/wp-includes/query.php	(revision 8849)
+++ tags/2.6.2/wp-includes/query.php	(revision 8849)
@@ -776,5 +776,5 @@
 			$qv['post_status'] = preg_replace('|[^a-z0-9_,-]|', '', $qv['post_status']);
 
-		if ( $this->is_posts_page && !$qv['withcomments'] )
+		if ( $this->is_posts_page && ( ! isset($qv['withcomments']) || ! $qv['withcomments'] ) )
 			$this->is_comment_feed = false;
 
@@ -830,5 +830,10 @@
 		$search = '';
 		$groupby = '';
+		$fields = "$wpdb->posts.*";
 		$post_status_join = false;
+		$page = 1;
+
+		if ( !isset($q['suppress_filters']) )
+			$q['suppress_filters'] = false;
 
 		if ( !isset($q['post_type']) ) {
@@ -1362,6 +1367,8 @@
 		// Apply filters on where and join prior to paging so that any
 		// manipulations to them are reflected in the paging by day queries.
-		$where = apply_filters('posts_where', $where);
-		$join = apply_filters('posts_join', $join);
+		if ( !$q['suppress_filters'] ) {
+			$where = apply_filters('posts_where', $where);
+			$join = apply_filters('posts_join', $join);
+		}
 
 		// Paging
@@ -1395,7 +1402,9 @@
 			}
 
-			$cjoin = apply_filters('comment_feed_join', $cjoin);
-			$cwhere = apply_filters('comment_feed_where', $cwhere);
-			$cgroupby = apply_filters('comment_feed_groupby', $cgroupby);
+			if ( !$q['suppress_filters'] ) {
+				$cjoin = apply_filters('comment_feed_join', $cjoin);
+				$cwhere = apply_filters('comment_feed_where', $cwhere);
+				$cgroupby = apply_filters('comment_feed_groupby', $cgroupby);
+			}
 
 			$this->comments = (array) $wpdb->get_results("SELECT $distinct $wpdb->comments.* FROM $wpdb->comments $cjoin $cwhere $cgroupby ORDER BY comment_date_gmt DESC LIMIT " . get_option('posts_per_rss'));
@@ -1415,14 +1424,17 @@
 		}
 
+		$orderby = $q['orderby'];
+
 		// Apply post-paging filters on where and join.  Only plugins that
 		// manipulate paging queries should use these hooks.
-
-		$where = apply_filters('posts_where_paged', $where);
-		$groupby = apply_filters('posts_groupby', $groupby);
-		$join = apply_filters('posts_join_paged', $join);
-		$orderby = apply_filters('posts_orderby', $q['orderby']);
-		$distinct = apply_filters('posts_distinct', $distinct);
-		$fields = apply_filters('posts_fields', "$wpdb->posts.*");
-		$limits = apply_filters( 'post_limits', $limits );
+		if ( !$q['suppress_filters'] ) {
+			$where = apply_filters('posts_where_paged', $where);
+			$groupby = apply_filters('posts_groupby', $groupby);
+			$join = apply_filters('posts_join_paged', $join);
+			$orderby = apply_filters('posts_orderby', $orderby);
+			$distinct = apply_filters('posts_distinct', $distinct);
+			$fields = apply_filters('posts_fields', $fields);
+			$limits = apply_filters( 'post_limits', $limits );
+		}
 
 		// Announce current selection parameters.  For use by caching plugins.
@@ -1430,11 +1442,13 @@
 
 		// Filter again for the benefit of caching plugins.  Regular plugins should use the hooks above.
-		$where = apply_filters('posts_where_request', $where);
-		$groupby = apply_filters('posts_groupby_request', $groupby);
-		$join = apply_filters('posts_join_request', $join);
-		$orderby = apply_filters('posts_orderby_request', $orderby);
-		$distinct = apply_filters('posts_distinct_request', $distinct);
-		$fields = apply_filters('posts_fields_request', $fields);
-		$limits = apply_filters( 'post_limits_request', $limits );
+		if ( !$q['suppress_filters'] ) {
+			$where = apply_filters('posts_where_request', $where);
+			$groupby = apply_filters('posts_groupby_request', $groupby);
+			$join = apply_filters('posts_join_request', $join);
+			$orderby = apply_filters('posts_orderby_request', $orderby);
+			$distinct = apply_filters('posts_distinct_request', $distinct);
+			$fields = apply_filters('posts_fields_request', $fields);
+			$limits = apply_filters( 'post_limits_request', $limits );
+		}
 
 		if ( ! empty($groupby) )
@@ -1446,10 +1460,12 @@
 			$found_rows = 'SQL_CALC_FOUND_ROWS';
 
-		$request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";
-		$this->request = apply_filters('posts_request', $request);
+		$this->request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";
+		if ( !$q['suppress_filters'] )
+			$this->request = apply_filters('posts_request', $this->request);
 
 		$this->posts = $wpdb->get_results($this->request);
 		// Raw results filter.  Prior to status checks.
-		$this->posts = apply_filters('posts_results', $this->posts);
+		if ( !$q['suppress_filters'] )
+			$this->posts = apply_filters('posts_results', $this->posts);
 
 		if ( !empty($this->posts) && $this->is_comment_feed && $this->is_singular ) {
@@ -1498,5 +1514,6 @@
 		}
 
-		$this->posts = apply_filters('the_posts', $this->posts);
+		if ( !$q['suppress_filters'] )
+			$this->posts = apply_filters('the_posts', $this->posts);
 
 		update_post_caches($this->posts);
Index: tags/2.6.2/wp-includes/version.php
===================================================================
--- tags/2.6.1/wp-includes/version.php	(revision 8849)
+++ tags/2.6.2/wp-includes/version.php	(revision 8849)
@@ -9,5 +9,5 @@
  * @global string $wp_version
  */
-$wp_version = '2.6.1';
+$wp_version = '2.6.2';
 
 /**
Index: tags/2.6.2/wp-includes/widgets.php
===================================================================
--- tags/2.6.1/wp-includes/widgets.php	(revision 8849)
+++ tags/2.6.2/wp-includes/widgets.php	(revision 8849)
@@ -1163,6 +1163,10 @@
 			}
 
-			echo "<li><a class='rsswidget' href='$link' title='$desc'>$title</a>{$date}{$summary}{$author}</li>";
-		}
+			if ( $link == '' ) {
+				echo "<li>$title{$date}{$summary}{$author}</li>"; 
+			} else {
+				echo "<li><a class='rsswidget' href='$link' title='$desc'>$title</a>{$date}{$summary}{$author}</li>"; 
+			}
+}
 		echo '</ul>';
 	} else {
Index: tags/2.6.2/wp-login.php
===================================================================
--- tags/2.6.1/wp-login.php	(revision 8849)
+++ tags/2.6.2/wp-login.php	(revision 8849)
@@ -424,4 +424,6 @@
 
 	$user = wp_signon('', $secure_cookie);
+
+	$redirect_to = apply_filters('login_redirect', $redirect_to, isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '', $user);
 
 	if ( !is_wp_error($user) ) {
Index: tags/2.6.2/wp-settings.php
===================================================================
--- tags/2.6.1/wp-settings.php	(revision 8849)
+++ tags/2.6.2/wp-settings.php	(revision 8849)
@@ -102,5 +102,5 @@
 
 if ( version_compare( '4.3', phpversion(), '>' ) ) {
-	die( sprintf( /*WP_I18N_OLD_PHP*/'Your server is running PHP version %s but WordPress requires at least 4.3.'/*/WP_I18N_OLD_PHP*/, php_version() ) );
+	die( sprintf( /*WP_I18N_OLD_PHP*/'Your server is running PHP version %s but WordPress requires at least 4.3.'/*/WP_I18N_OLD_PHP*/, phpversion() ) );
 }
 
