diff --git a/composer.json b/composer.json
index 37164c5..ce000d5 100644
--- a/composer.json
+++ b/composer.json
@@ -4,7 +4,7 @@
   "type": "drupal-core",
   "license": "GPL-2.0+",
   "require": {
-    "php": ">5.4.4-13",
+    "php": ">5.4.13",
     "sdboyer/gliph": "0.1.*",
     "symfony/class-loader": "2.5.*",
     "symfony/css-selector": "2.5.*",
@@ -19,7 +19,7 @@
     "twig/twig": "1.15.*",
     "doctrine/common": "dev-master#a45d110f71c323e29f41eb0696fa230e3fa1b1b5",
     "doctrine/annotations": "1.2.*",
-    "guzzlehttp/guzzle": "4.1.*",
+    "guzzlehttp/guzzle": "5.0.*",
     "kriswallsmith/assetic": "1.1.*@alpha",
     "symfony-cmf/routing": "1.2.*",
     "easyrdf/easyrdf": "0.8.*",
@@ -30,6 +30,7 @@
     "stack/builder": "1.0.*",
     "egulias/email-validator": "1.2.*"
   },
+  "minimum-stability": "dev",
   "autoload": {
     "psr-4": {
       "Drupal\\Core\\": "core/lib/Drupal/Core",
diff --git a/composer.lock b/composer.lock
index 371f59e..9c9b84f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "84084dce2bc995cf540fa58e5f3c796d",
+    "hash": "9ce7caf3d86076109fa933bc1d328a3a",
     "packages": [
         {
             "name": "doctrine/annotations",
@@ -510,21 +510,20 @@
         },
         {
             "name": "guzzlehttp/guzzle",
-            "version": "4.1.7",
+            "version": "dev-ring",
             "source": {
                 "type": "git",
                 "url": "https://github.com/guzzle/guzzle.git",
-                "reference": "448f2c2076cf0fb756230611491c4f7ecb735a29"
+                "reference": "53069ad061f23a284d4f26f0fd367ff043633f5a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/448f2c2076cf0fb756230611491c4f7ecb735a29",
-                "reference": "448f2c2076cf0fb756230611491c4f7ecb735a29",
+                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/53069ad061f23a284d4f26f0fd367ff043633f5a",
+                "reference": "53069ad061f23a284d4f26f0fd367ff043633f5a",
                 "shasum": ""
             },
             "require": {
-                "ext-json": "*",
-                "guzzlehttp/streams": "~1.4",
+                "guzzlehttp/ringphp": "~1.0",
                 "php": ">=5.4.0"
             },
             "require-dev": {
@@ -532,22 +531,16 @@
                 "phpunit/phpunit": "~4.0",
                 "psr/log": "~1.0"
             },
-            "suggest": {
-                "ext-curl": "Guzzle will use specific adapters if cURL is present"
-            },
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "4.1-dev"
+                    "dev-ring": "5.0-dev"
                 }
             },
             "autoload": {
                 "psr-4": {
                     "GuzzleHttp\\": "src/"
-                },
-                "files": [
-                    "src/functions.php"
-                ]
+                }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
@@ -571,20 +564,116 @@
                 "rest",
                 "web service"
             ],
-            "time": "2014-08-08 01:30:43"
+            "time": "2014-10-13 02:30:59"
+        },
+        {
+            "name": "guzzlehttp/ring",
+            "version": "dev-master",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/guzzle/guzzle-ring.git",
+                "reference": "5049a73c56cb5fee94327c77a105fecd5a43587a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/guzzle/guzzle-ring/zipball/5049a73c56cb5fee94327c77a105fecd5a43587a",
+                "reference": "5049a73c56cb5fee94327c77a105fecd5a43587a",
+                "shasum": ""
+            },
+            "require": {
+                "guzzlehttp/streams": "3.0.*@dev",
+                "php": ">=5.4.0"
+            },
+            "require-dev": {
+                "ext-curl": "*",
+                "phpunit/phpunit": "~4.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "0.1-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "GuzzleHttp\\Ring\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Michael Dowling",
+                    "email": "mtdowling@gmail.com",
+                    "homepage": "https://github.com/mtdowling"
+                }
+            ],
+            "time": "2014-09-30 06:32:45"
+        },
+        {
+            "name": "guzzlehttp/ringphp",
+            "version": "dev-master",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/guzzle/RingPHP.git",
+                "reference": "9e44b565d726d9614cd970319e6eea70ee15bff3"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/9e44b565d726d9614cd970319e6eea70ee15bff3",
+                "reference": "9e44b565d726d9614cd970319e6eea70ee15bff3",
+                "shasum": ""
+            },
+            "require": {
+                "guzzlehttp/streams": "~3.0",
+                "php": ">=5.4.0",
+                "react/promise": "~2.0"
+            },
+            "require-dev": {
+                "ext-curl": "*",
+                "phpunit/phpunit": "~4.0"
+            },
+            "suggest": {
+                "ext-curl": "Guzzle will use specific adapters if cURL is present"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "GuzzleHttp\\Ring\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Michael Dowling",
+                    "email": "mtdowling@gmail.com",
+                    "homepage": "https://github.com/mtdowling"
+                }
+            ],
+            "time": "2014-10-13 00:59:38"
         },
         {
             "name": "guzzlehttp/streams",
-            "version": "1.5.1",
+            "version": "3.0.x-dev",
             "source": {
                 "type": "git",
                 "url": "https://github.com/guzzle/streams.git",
-                "reference": "fb0d1ee29987c2bdc59867bffaade6fc88c2675f"
+                "reference": "658922419deccf09453f72e49f7121989d6b742e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/streams/zipball/fb0d1ee29987c2bdc59867bffaade6fc88c2675f",
-                "reference": "fb0d1ee29987c2bdc59867bffaade6fc88c2675f",
+                "url": "https://api.github.com/repos/guzzle/streams/zipball/658922419deccf09453f72e49f7121989d6b742e",
+                "reference": "658922419deccf09453f72e49f7121989d6b742e",
                 "shasum": ""
             },
             "require": {
@@ -596,7 +685,7 @@
             "type": "library",
             "extra": {
                 "branch-alias": {
-                    "dev-master": "1.5-dev"
+                    "dev-master": "3.0-dev"
                 }
             },
             "autoload": {
@@ -624,7 +713,7 @@
                 "Guzzle",
                 "stream"
             ],
-            "time": "2014-08-10 23:57:01"
+            "time": "2014-10-01 16:11:32"
         },
         {
             "name": "kriswallsmith/assetic",
@@ -1153,6 +1242,50 @@
             "time": "2012-12-21 11:40:51"
         },
         {
+            "name": "react/promise",
+            "version": "dev-master",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/reactphp/promise.git",
+                "reference": "f1e10638e9fa06c5ae901f6af8a2a73b96d4cdcb"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/reactphp/promise/zipball/f1e10638e9fa06c5ae901f6af8a2a73b96d4cdcb",
+                "reference": "f1e10638e9fa06c5ae901f6af8a2a73b96d4cdcb",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.4.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.0-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "React\\Promise\\": "src/"
+                },
+                "files": [
+                    "src/functions.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Jan Sorgalla",
+                    "email": "jsorgalla@googlemail.com"
+                }
+            ],
+            "description": "A lightweight implementation of CommonJS Promises/A for PHP",
+            "time": "2014-10-05 19:47:05"
+        },
+        {
             "name": "sdboyer/gliph",
             "version": "0.1.4",
             "source": {
@@ -2483,13 +2616,9 @@
             "time": "2013-06-12 19:46:58"
         }
     ],
-    "packages-dev": [
-
-    ],
-    "aliases": [
-
-    ],
-    "minimum-stability": "stable",
+    "packages-dev": [],
+    "aliases": [],
+    "minimum-stability": "dev",
     "stability-flags": {
         "symfony/yaml": 20,
         "doctrine/common": 20,
@@ -2498,9 +2627,7 @@
     },
     "prefer-stable": false,
     "platform": {
-        "php": ">=5.4.2"
+        "php": ">5.4.13"
     },
-    "platform-dev": [
-
-    ]
+    "platform-dev": []
 }
diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 1015f67..e8b9bde 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -1492,6 +1492,7 @@ function template_preprocess_feed_icon(&$variables) {
     '#height' => 16,
     '#alt' => $text,
   );
+  $variables['attributes']['class'] = array('feed-icon');
   // Stripping tags because that's what l() used to do.
   $variables['attributes']['title'] = strip_tags($text);
 }
diff --git a/core/modules/update/src/UpdateFetcher.php b/core/modules/update/src/UpdateFetcher.php
index 14bdb29..5f22265 100644
--- a/core/modules/update/src/UpdateFetcher.php
+++ b/core/modules/update/src/UpdateFetcher.php
@@ -8,6 +8,7 @@
 namespace Drupal\update;
 
 use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\DependencyInjection\DependencySerializationTrait;
 use GuzzleHttp\ClientInterface;
 use GuzzleHttp\Exception\RequestException;
 
@@ -16,6 +17,8 @@
  */
 class UpdateFetcher implements UpdateFetcherInterface {
 
+  use DependencySerializationTrait;
+
   /**
    * URL to check for updates, if a given project doesn't define its own.
    */
diff --git a/core/modules/update/src/UpdateProcessor.php b/core/modules/update/src/UpdateProcessor.php
index d37f643..f129845 100644
--- a/core/modules/update/src/UpdateProcessor.php
+++ b/core/modules/update/src/UpdateProcessor.php
@@ -161,7 +161,7 @@ public function processFetchTask($project) {
     $project_name = $project['name'];
 
     if (empty($this->failed[$fetch_url_base]) || $this->failed[$fetch_url_base] < $max_fetch_attempts) {
-      $data = $this->updateFetcher->fetchProjectData($project, $site_key);
+      $data = (string) $this->updateFetcher->fetchProjectData($project, $site_key);
     }
     if (!empty($data)) {
       $available = $this->parseXml($data);
