diff --git a/composer.json b/composer.json
index ee2f3cda47a4083d5d04d68ffb0ab94d402a1297..a6de98f1303c26f4f384f41f4bd65c215f02d55e 100644
--- a/composer.json
+++ b/composer.json
@@ -60,7 +60,7 @@
         "symfony/yaml": "*",
         "vufind-org/vufindcode": "*",
         "vufind-org/vufindhttp": "*",
-        "zendframework/zendframework": "2.3.4",
+        "zendframework/zendframework": "2.3.5",
         "zendframework/zendrest": "2.*",
         "zendframework/zendservice-amazon": "2.*",
         "zendframework/zendservice-recaptcha": "2.*",
diff --git a/composer.lock b/composer.lock
index c0405cb14ce53ed3a534f51b08fc8f7494a3dd8d..d9215c7a6a312357a6481144066c873bced7d43b 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": "81dc30f74255130821d7ca7044d73d08",
+    "hash": "6a50f9dd747e7c641961b25a3e6ec1db",
     "packages": [
         {
             "name": "aferrandini/phpqrcode",
@@ -641,17 +641,17 @@
         },
         {
             "name": "zendframework/zendframework",
-            "version": "2.3.4",
+            "version": "2.3.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/zendframework/zf2.git",
-                "reference": "c878e047ab1c5dcfb201974bdff607be54ccb54b"
+                "reference": "886063aa5aee7476b77c380e25ecfacb2ee5ff4c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://packages.zendframework.com/composer/zendframework-zendframework-c878e047ab1c5dcfb201974bdff607be54ccb54b-zip-991680.zip",
-                "reference": "2.3.4",
-                "shasum": "45535093807295917206dd98173a704c8eaa5da9"
+                "url": "https://packages.zendframework.com/composer/zendframework-zendframework-886063aa5aee7476b77c380e25ecfacb2ee5ff4c-zip-d4c183.zip",
+                "reference": "2.3.5",
+                "shasum": "07830613ab28cd5e08bb731393bab8cd32e3ec81"
             },
             "require": {
                 "php": ">=5.3.23",
@@ -755,10 +755,10 @@
                 "zf2"
             ],
             "support": {
-                "source": "https://github.com/zendframework/zf2/tree/release-2.3.4",
+                "source": "https://github.com/zendframework/zf2/tree/release-2.3.5",
                 "issues": "https://github.com/zendframework/zf2/issues"
             },
-            "time": "2015-01-14 16:44:17"
+            "time": "2015-02-18 19:48:16"
         },
         {
             "name": "zendframework/zendrest",
@@ -1300,6 +1300,7 @@
         "mobileesp/mdetect": 20
     },
     "prefer-stable": false,
+    "prefer-lowest": false,
     "platform": [],
     "platform-dev": []
 }
diff --git a/vendor/autoload.php b/vendor/autoload.php
index 6a133ef32ad3bbf6cc4f72c9b9b69b1b1e82ca32..13f509d16c0d1334e81085d0f72a0a62cc89b63a 100644
--- a/vendor/autoload.php
+++ b/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-return ComposerAutoloaderInit2185453e64f723932ef1189948c3ad03::getLoader();
+return ComposerAutoloaderInit5e68da56cccfcc8abc8c4813710f1c62::getLoader();
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index 4a56396af559e9917b4239e6c02f469a852a7a6c..5e1469e8307d9c644831f694ed8eccdd4afccc28 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -54,11 +54,14 @@ class ClassLoader
     private $useIncludePath = false;
     private $classMap = array();
 
+    private $classMapAuthoritative = false;
+
     public function getPrefixes()
     {
         if (!empty($this->prefixesPsr0)) {
             return call_user_func_array('array_merge', $this->prefixesPsr0);
         }
+
         return array();
     }
 
@@ -247,6 +250,27 @@ class ClassLoader
         return $this->useIncludePath;
     }
 
+    /**
+     * Turns off searching the prefix and fallback directories for classes
+     * that have not been registered with the class map.
+     *
+     * @param bool $classMapAuthoritative
+     */
+    public function setClassMapAuthoritative($classMapAuthoritative)
+    {
+        $this->classMapAuthoritative = $classMapAuthoritative;
+    }
+
+    /**
+     * Should class lookup fail if not found in the current class map?
+     *
+     * @return bool
+     */
+    public function isClassMapAuthoritative()
+    {
+        return $this->classMapAuthoritative;
+    }
+
     /**
      * Registers this instance as an autoloader.
      *
@@ -298,6 +322,9 @@ class ClassLoader
         if (isset($this->classMap[$class])) {
             return $this->classMap[$class];
         }
+        if ($this->classMapAuthoritative) {
+            return false;
+        }
 
         $file = $this->findFileWithExtension($class, '.php');
 
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index ffd5409f5eaeb3bfe661d5ba700ca15ce767e591..60102a37942a31d5b47a3a412d054d87f1f538e0 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit2185453e64f723932ef1189948c3ad03
+class ComposerAutoloaderInit5e68da56cccfcc8abc8c4813710f1c62
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit2185453e64f723932ef1189948c3ad03
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit2185453e64f723932ef1189948c3ad03', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInit5e68da56cccfcc8abc8c4813710f1c62', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit2185453e64f723932ef1189948c3ad03', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInit5e68da56cccfcc8abc8c4813710f1c62', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         array_push($includePaths, get_include_path());
@@ -48,7 +48,7 @@ class ComposerAutoloaderInit2185453e64f723932ef1189948c3ad03
     }
 }
 
-function composerRequire2185453e64f723932ef1189948c3ad03($file)
+function composerRequire5e68da56cccfcc8abc8c4813710f1c62($file)
 {
     require $file;
 }
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index f088b05b8951d9056c5f6ea07126dd79b8ffad32..822f118636e4f96a43d576562e70f23b96cc6488 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1040,129 +1040,6 @@
         "description": "Symfony Process Component",
         "homepage": "http://symfony.com"
     },
-    {
-        "name": "zendframework/zendframework",
-        "version": "2.3.4",
-        "version_normalized": "2.3.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zf2.git",
-            "reference": "c878e047ab1c5dcfb201974bdff607be54ccb54b"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://packages.zendframework.com/composer/zendframework-zendframework-c878e047ab1c5dcfb201974bdff607be54ccb54b-zip-991680.zip",
-            "reference": "2.3.4",
-            "shasum": "45535093807295917206dd98173a704c8eaa5da9"
-        },
-        "require": {
-            "php": ">=5.3.23",
-            "zendframework/zendxml": "~1.0-dev"
-        },
-        "replace": {
-            "zendframework/zend-authentication": "self.version",
-            "zendframework/zend-barcode": "self.version",
-            "zendframework/zend-cache": "self.version",
-            "zendframework/zend-captcha": "self.version",
-            "zendframework/zend-code": "self.version",
-            "zendframework/zend-config": "self.version",
-            "zendframework/zend-console": "self.version",
-            "zendframework/zend-crypt": "self.version",
-            "zendframework/zend-db": "self.version",
-            "zendframework/zend-debug": "self.version",
-            "zendframework/zend-di": "self.version",
-            "zendframework/zend-dom": "self.version",
-            "zendframework/zend-escaper": "self.version",
-            "zendframework/zend-eventmanager": "self.version",
-            "zendframework/zend-feed": "self.version",
-            "zendframework/zend-file": "self.version",
-            "zendframework/zend-filter": "self.version",
-            "zendframework/zend-form": "self.version",
-            "zendframework/zend-http": "self.version",
-            "zendframework/zend-i18n": "self.version",
-            "zendframework/zend-inputfilter": "self.version",
-            "zendframework/zend-json": "self.version",
-            "zendframework/zend-ldap": "self.version",
-            "zendframework/zend-loader": "self.version",
-            "zendframework/zend-log": "self.version",
-            "zendframework/zend-mail": "self.version",
-            "zendframework/zend-math": "self.version",
-            "zendframework/zend-memory": "self.version",
-            "zendframework/zend-mime": "self.version",
-            "zendframework/zend-modulemanager": "self.version",
-            "zendframework/zend-mvc": "self.version",
-            "zendframework/zend-navigation": "self.version",
-            "zendframework/zend-paginator": "self.version",
-            "zendframework/zend-permissions-acl": "self.version",
-            "zendframework/zend-permissions-rbac": "self.version",
-            "zendframework/zend-progressbar": "self.version",
-            "zendframework/zend-resources": "self.version",
-            "zendframework/zend-serializer": "self.version",
-            "zendframework/zend-server": "self.version",
-            "zendframework/zend-servicemanager": "self.version",
-            "zendframework/zend-session": "self.version",
-            "zendframework/zend-soap": "self.version",
-            "zendframework/zend-stdlib": "self.version",
-            "zendframework/zend-tag": "self.version",
-            "zendframework/zend-test": "self.version",
-            "zendframework/zend-text": "self.version",
-            "zendframework/zend-uri": "self.version",
-            "zendframework/zend-validator": "self.version",
-            "zendframework/zend-version": "self.version",
-            "zendframework/zend-view": "self.version",
-            "zendframework/zend-xmlrpc": "self.version"
-        },
-        "require-dev": {
-            "doctrine/annotations": ">=1.0",
-            "fabpot/php-cs-fixer": "1.*",
-            "ircmaxell/random-lib": "dev-master",
-            "ircmaxell/security-lib": "dev-master",
-            "mikey179/vfsstream": "1.2.*",
-            "phpunit/phpunit": "3.7.*",
-            "satooshi/php-coveralls": "dev-master",
-            "sebastianbergmann/phpcov": "1.1.0"
-        },
-        "suggest": {
-            "doctrine/annotations": "Doctrine Annotations >=1.0 for annotation features",
-            "ext-intl": "ext/intl for i18n features (included in default builds of PHP)",
-            "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable",
-            "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services",
-            "zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes",
-            "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form"
-        },
-        "time": "2015-01-14 16:44:17",
-        "bin": [
-            "bin/classmap_generator.php",
-            "bin/pluginmap_generator.php",
-            "bin/templatemap_generator.php"
-        ],
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.3-dev",
-                "dev-develop": "2.4-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Zend\\": "library/"
-            }
-        },
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "description": "Zend Framework 2",
-        "homepage": "http://framework.zend.com/",
-        "keywords": [
-            "framework",
-            "zf2"
-        ],
-        "support": {
-            "source": "https://github.com/zendframework/zf2/tree/release-2.3.4",
-            "issues": "https://github.com/zendframework/zf2/issues"
-        }
-    },
     {
         "name": "vufind-org/vufindhttp",
         "version": "v1.0.3",
@@ -1340,5 +1217,128 @@
             "rbac",
             "zf2"
         ]
+    },
+    {
+        "name": "zendframework/zendframework",
+        "version": "2.3.5",
+        "version_normalized": "2.3.5.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zf2.git",
+            "reference": "886063aa5aee7476b77c380e25ecfacb2ee5ff4c"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://packages.zendframework.com/composer/zendframework-zendframework-886063aa5aee7476b77c380e25ecfacb2ee5ff4c-zip-d4c183.zip",
+            "reference": "2.3.5",
+            "shasum": "07830613ab28cd5e08bb731393bab8cd32e3ec81"
+        },
+        "require": {
+            "php": ">=5.3.23",
+            "zendframework/zendxml": "~1.0-dev"
+        },
+        "replace": {
+            "zendframework/zend-authentication": "self.version",
+            "zendframework/zend-barcode": "self.version",
+            "zendframework/zend-cache": "self.version",
+            "zendframework/zend-captcha": "self.version",
+            "zendframework/zend-code": "self.version",
+            "zendframework/zend-config": "self.version",
+            "zendframework/zend-console": "self.version",
+            "zendframework/zend-crypt": "self.version",
+            "zendframework/zend-db": "self.version",
+            "zendframework/zend-debug": "self.version",
+            "zendframework/zend-di": "self.version",
+            "zendframework/zend-dom": "self.version",
+            "zendframework/zend-escaper": "self.version",
+            "zendframework/zend-eventmanager": "self.version",
+            "zendframework/zend-feed": "self.version",
+            "zendframework/zend-file": "self.version",
+            "zendframework/zend-filter": "self.version",
+            "zendframework/zend-form": "self.version",
+            "zendframework/zend-http": "self.version",
+            "zendframework/zend-i18n": "self.version",
+            "zendframework/zend-inputfilter": "self.version",
+            "zendframework/zend-json": "self.version",
+            "zendframework/zend-ldap": "self.version",
+            "zendframework/zend-loader": "self.version",
+            "zendframework/zend-log": "self.version",
+            "zendframework/zend-mail": "self.version",
+            "zendframework/zend-math": "self.version",
+            "zendframework/zend-memory": "self.version",
+            "zendframework/zend-mime": "self.version",
+            "zendframework/zend-modulemanager": "self.version",
+            "zendframework/zend-mvc": "self.version",
+            "zendframework/zend-navigation": "self.version",
+            "zendframework/zend-paginator": "self.version",
+            "zendframework/zend-permissions-acl": "self.version",
+            "zendframework/zend-permissions-rbac": "self.version",
+            "zendframework/zend-progressbar": "self.version",
+            "zendframework/zend-resources": "self.version",
+            "zendframework/zend-serializer": "self.version",
+            "zendframework/zend-server": "self.version",
+            "zendframework/zend-servicemanager": "self.version",
+            "zendframework/zend-session": "self.version",
+            "zendframework/zend-soap": "self.version",
+            "zendframework/zend-stdlib": "self.version",
+            "zendframework/zend-tag": "self.version",
+            "zendframework/zend-test": "self.version",
+            "zendframework/zend-text": "self.version",
+            "zendframework/zend-uri": "self.version",
+            "zendframework/zend-validator": "self.version",
+            "zendframework/zend-version": "self.version",
+            "zendframework/zend-view": "self.version",
+            "zendframework/zend-xmlrpc": "self.version"
+        },
+        "require-dev": {
+            "doctrine/annotations": ">=1.0",
+            "fabpot/php-cs-fixer": "1.*",
+            "ircmaxell/random-lib": "dev-master",
+            "ircmaxell/security-lib": "dev-master",
+            "mikey179/vfsstream": "1.2.*",
+            "phpunit/phpunit": "3.7.*",
+            "satooshi/php-coveralls": "dev-master",
+            "sebastianbergmann/phpcov": "1.1.0"
+        },
+        "suggest": {
+            "doctrine/annotations": "Doctrine Annotations >=1.0 for annotation features",
+            "ext-intl": "ext/intl for i18n features (included in default builds of PHP)",
+            "ircmaxell/random-lib": "Fallback random byte generator for Zend\\Math\\Rand if OpenSSL/Mcrypt extensions are unavailable",
+            "ocramius/proxy-manager": "ProxyManager 0.5.* to handle lazy initialization of services",
+            "zendframework/zendpdf": "ZendPdf for creating PDF representations of barcodes",
+            "zendframework/zendservice-recaptcha": "ZendService\\ReCaptcha for rendering ReCaptchas in Zend\\Captcha and/or Zend\\Form"
+        },
+        "time": "2015-02-18 19:48:16",
+        "bin": [
+            "bin/classmap_generator.php",
+            "bin/pluginmap_generator.php",
+            "bin/templatemap_generator.php"
+        ],
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.3-dev",
+                "dev-develop": "2.4-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Zend\\": "library/"
+            }
+        },
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "description": "Zend Framework 2",
+        "homepage": "http://framework.zend.com/",
+        "keywords": [
+            "framework",
+            "zf2"
+        ],
+        "support": {
+            "source": "https://github.com/zendframework/zf2/tree/release-2.3.5",
+            "issues": "https://github.com/zendframework/zf2/issues"
+        }
     }
 ]
diff --git a/vendor/zendframework/zendframework/CHANGELOG.md b/vendor/zendframework/zendframework/CHANGELOG.md
index f9606e29dd9e3a35c203ec9389d0b8d9860b42ba..497de1d2a50dcf09fea606f97035d4401fcdf4d9 100644
--- a/vendor/zendframework/zendframework/CHANGELOG.md
+++ b/vendor/zendframework/zendframework/CHANGELOG.md
@@ -1,5 +1,36 @@
 # CHANGELOG
 
+## 2.3.5 (2015-02-18)
+
+- [6666: bugfix : options can't be passed to SeparatorToSeparator via PluginManager](https://github.com/zendframework/zf2/pull/6666)
+- [6676: Respecting line endings in AnnotationScanner](https://github.com/zendframework/zf2/pull/6676)
+- [7005: Zend\Http\PhpEnvironment\Request omits query string](https://github.com/zendframework/zf2/issues/7005)
+- [7127: SessionManagerFactory with ArrayStorage triggers undefined variable](https://github.com/zendframework/zf2/pull/7127)
+- [7134: classmap_generator Deprecated: preg_replace():](https://github.com/zendframework/zf2/issues/7134)
+- [7135: Fixing deprecated preg_replace usage in classmap_generator.php](https://github.com/zendframework/zf2/pull/7135)
+- [7137: Request from string](https://github.com/zendframework/zf2/pull/7137)
+- [7139: Fixing comment about email validator, when should be uri](https://github.com/zendframework/zf2/pull/7139)
+- [7142: AbstractConfigFactory returns complete configuration array at first config call](https://github.com/zendframework/zf2/issues/7142)
+- [7144: hotfix/#7142: AbstractConfigFactory now returns requested config array ](https://github.com/zendframework/zf2/pull/7144)
+- [7148: ModuleLoader not capable of loading modules contained within an application.phar](https://github.com/zendframework/zf2/issues/7148)
+- [7150: Estonian IDN definition & fixed binary code for HOST_DNS_OR_IPV4_OR_IPV6_OR_REGNAME](https://github.com/zendframework/zf2/pull/7150)
+- [7151: Applications packaged as not capable of loading modules contained within the archive](https://github.com/zendframework/zf2/pull/7151)
+- [7157: Exception message in Zend\Stdlib\AbstractOptions should use the actual used setter](https://github.com/zendframework/zf2/pull/7157)
+- [7162: Incorrect response for HTTP status code 414](https://github.com/zendframework/zf2/pull/7162)
+- [7167: Fixation form collection helper lost second argument](https://github.com/zendframework/zf2/pull/7167)
+- [7168: Typo in #6598 pull request.](https://github.com/zendframework/zf2/pull/7168)
+- [7169: bugfix : options can't be passed to SeparatorToSeparator ](https://github.com/zendframework/zf2/pull/7169)
+- [7170: Fixed wrong phpdoc type hint.](https://github.com/zendframework/zf2/pull/7170)
+- [7180: Fix: Inline variable](https://github.com/zendframework/zf2/pull/7180)
+- [7200: Add support for DateTimeImmutable](https://github.com/zendframework/zf2/pull/7200)
+
+### SECURITY UPDATES
+
+- **ZF2015-02:** `Zend\Db\Adapter\Platform\Postgresql` was incorrectly using
+  `\\` to escape double quotes in identifiers and values, which could lead to
+  SQL injection vectors. We have provided patches that use proper escaping. If
+  you use Postgresql with Zend Framework 2, we recommend upgrading immediately.
+
 ## 2.3.4 (2015-01-14)
 
 - [3758: partialLoop/partial View Helper can not be nested when using setObjectKey](https://github.com/zendframework/zf2/issues/3758)
@@ -703,6 +734,15 @@
 - [5943: Fixed route matcher test](https://github.com/zendframework/zf2/pull/5943)
 - [5951: Fix console mixed case optional value params](https://github.com/zendframework/zf2/pull/5951)
 
+## 2.2.10 (2015-02-18)
+
+### SECURITY UPDATES
+
+- **ZF2015-02:** `Zend\Db\Adapter\Platform\Postgresql` was incorrectly using
+  `\\` to escape double quotes in identifiers and values, which could lead to
+  SQL injection vectors. We have provided patches that use proper escaping. If
+  you use Postgresql with Zend Framework 2, we recommend upgrading immediately.
+
 ## 2.2.9 (2015-01-14)
 
 ### SECURITY UPDATES
diff --git a/vendor/zendframework/zendframework/README.md b/vendor/zendframework/zendframework/README.md
index ff05fcbbd2ef8be69c78a3560aec6ba9898234cb..8102139bfc0b799dcd7a3d9d3aa32f87ba681711 100644
--- a/vendor/zendframework/zendframework/README.md
+++ b/vendor/zendframework/zendframework/README.md
@@ -3,32 +3,28 @@
 # Welcome to the *Zend Framework 2.3* Release!
 
 Master:
-[![Build Status](https://secure.travis-ci.org/zendframework/zf2.png?branch=master)](http://travis-ci.org/zendframework/zf2)
-[![Coverage Status](https://coveralls.io/repos/zendframework/zf2/badge.png?branch=master)](https://coveralls.io/r/zendframework/zf2)
+[![Build Status](https://secure.travis-ci.org/zendframework/zf2.svg?branch=master)](http://travis-ci.org/zendframework/zf2)
+[![Coverage Status](https://coveralls.io/repos/zendframework/zf2/badge.svg?branch=master)](https://coveralls.io/r/zendframework/zf2)
 Develop:
-[![Build Status](https://secure.travis-ci.org/zendframework/zf2.png?branch=develop)](http://travis-ci.org/zendframework/zf2)
-[![Coverage Status](https://coveralls.io/repos/zendframework/zf2/badge.png?branch=develop)](https://coveralls.io/r/zendframework/zf2)
+[![Build Status](https://secure.travis-ci.org/zendframework/zf2.svg?branch=develop)](http://travis-ci.org/zendframework/zf2)
+[![Coverage Status](https://coveralls.io/repos/zendframework/zf2/badge.svg?branch=develop)](https://coveralls.io/r/zendframework/zf2)
 
 ## RELEASE INFORMATION
 
-*Zend Framework 2.3.4*
+*Zend Framework 2.3.5*
 
-This is the fourth maintenance release for the version 2.3 series.
+This is the fifth maintenance release for the version 2.3 series.
 
-14 Jan 2015
+18 Feb 2015
 
-### UPDATES IN 2.3.4
+### UPDATES IN 2.3.5
 
-This release contains important security fixes:
+This release contains security updates:
 
-- **ZF2015-01:** Session validators were not run if set before session start.
-  Essentially, the validators were writing to the `$_SESSION` superglobal before
-  session start, which meant the data was overwritten once the session began.
-  This meant on subsequent calls, the validators had no data to compare against,
-  making the sessions automatically valid. We have provided patches to ensure
-  that validators are run only after the session has begun, which will ensure
-  they validate sessions correctly going forward. If you use `Zend\Session`
-  validators, we recommend upgrading immediately.
+- **ZF2015-02:** `Zend\Db\Adapter\Platform\Postgresql` was incorrectly using
+  `\\` to escape double quotes in identifiers and values, which could lead to
+  SQL injection vectors. We have provided patches that use proper escaping. If
+  you use Postgresql with Zend Framework 2, we recommend upgrading immediately.
 
 Please see [CHANGELOG.md](CHANGELOG.md).
 
diff --git a/vendor/zendframework/zendframework/bin/classmap_generator.php b/vendor/zendframework/zendframework/bin/classmap_generator.php
index 39ebab5ab4a41f0d6967797307f529c6d0ac6930..2b4add8ec556fcd36de143b0c9767120190842a5 100755
--- a/vendor/zendframework/zendframework/bin/classmap_generator.php
+++ b/vendor/zendframework/zendframework/bin/classmap_generator.php
@@ -220,6 +220,9 @@ $content = str_replace('\\\\', '\\', $content);
 // Exchange "array (" width "array("
 $content = str_replace('array (', 'array(', $content);
 
+// Identing array content
+$content = preg_replace('(\n  )', "\n    ", $content);
+
 // Align "=>" operators to match coding standard
 preg_match_all('(\n\s+([^=]+)=>)', $content, $matches, PREG_SET_ORDER);
 $maxWidth = 0;
@@ -228,7 +231,11 @@ foreach ($matches as $match) {
     $maxWidth = max($maxWidth, strlen($match[1]));
 }
 
-$content = preg_replace('(\n\s+([^=]+)=>)e', "'\n    \\1' . str_repeat(' ', " . $maxWidth . " - strlen('\\1')) . '=>'", $content);
+$content = preg_replace_callback('(\n\s+([^=]+)=>)', function ($matches) {
+    global $maxWidth;
+
+    return str_replace(' =>', str_repeat(' ', $maxWidth - strlen($matches[1])) . ' =>', $matches[0]);
+}, $content);
 
 // Make the file end by EOL
 $content = rtrim($content, "\n") . "\n";
diff --git a/vendor/zendframework/zendframework/library/Zend/Code/Scanner/AnnotationScanner.php b/vendor/zendframework/zendframework/library/Zend/Code/Scanner/AnnotationScanner.php
index 5410c0256826bc2a17b4b7cf47c14920de4dcfae..7fb8e6397c85654bb06733b4d62c05c52a8c42ca 100644
--- a/vendor/zendframework/zendframework/library/Zend/Code/Scanner/AnnotationScanner.php
+++ b/vendor/zendframework/zendframework/library/Zend/Code/Scanner/AnnotationScanner.php
@@ -160,7 +160,7 @@ class AnnotationScanner extends AnnotationCollection implements ScannerInterface
             }
             $currentChar = $stream[$streamIndex];
             $matches     = array();
-            $currentLine = (preg_match('#(.*)\n#', $stream, $matches, null, $streamIndex) === 1) ? $matches[1] : substr($stream, $streamIndex);
+            $currentLine = (preg_match('#(.*?)(?:\n|\r\n?)#', $stream, $matches, null, $streamIndex) === 1) ? $matches[1] : substr($stream, $streamIndex);
             if ($currentChar === ' ') {
                 $currentWord = (preg_match('#( +)#', $currentLine, $matches) === 1) ? $matches[1] : $currentLine;
             } else {
@@ -213,7 +213,7 @@ class AnnotationScanner extends AnnotationCollection implements ScannerInterface
         }
 
         if ($MACRO_HAS_CONTEXT($CONTEXT_CLASS)) {
-            if (in_array($currentChar, array(' ', '(', "\n"))) {
+            if (in_array($currentChar, array(' ', '(', "\n", "\r"))) {
                 $context &= ~$CONTEXT_CLASS;
                 $MACRO_TOKEN_ADVANCE();
             } else {
@@ -225,7 +225,22 @@ class AnnotationScanner extends AnnotationCollection implements ScannerInterface
             }
         }
 
-        if ($currentChar === "\n") {
+        // Since we don't know what line endings are used in the file, we check for all scenarios. If we find a
+        // cariage return (\r), we check the next character for a line feed (\n). If so we consume it and act as
+        // if the cariage return was a line feed.
+        $lineEnded = $currentChar === "\n";
+        if ($currentChar === "\r") {
+            $lineEnded = true;
+
+            $nextChar = $MACRO_STREAM_ADVANCE_CHAR();
+            if ($nextChar !== "\n") {
+                $streamIndex--;
+            }
+
+            $currentChar = "\n";
+        }
+
+        if ($lineEnded) {
             $MACRO_TOKEN_SET_TYPE('ANNOTATION_NEWLINE');
             $MACRO_TOKEN_APPEND_CHAR();
             $MACRO_TOKEN_ADVANCE();
diff --git a/vendor/zendframework/zendframework/library/Zend/Config/AbstractConfigFactory.php b/vendor/zendframework/zendframework/library/Zend/Config/AbstractConfigFactory.php
index 2f19f392a720c6df9eb1bcbb7c06345fd779dd09..b737c71e43edf8097a5eeb6add472914648c8c22 100644
--- a/vendor/zendframework/zendframework/library/Zend/Config/AbstractConfigFactory.php
+++ b/vendor/zendframework/zendframework/library/Zend/Config/AbstractConfigFactory.php
@@ -84,7 +84,7 @@ class AbstractConfigFactory implements ServiceManager\AbstractFactoryInterface
 
         $config = $serviceLocator->get('Config');
         $this->configs[$requestedName] = $this->configs[$key] = $config[$key];
-        return $config;
+        return $config[$key];
     }
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Platform/Postgresql.php b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Platform/Postgresql.php
index 07149febcfec8ee531dcb861c280bc244a981cde..b965a519e6349d9d8222f5308787863ff65e1b82 100644
--- a/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Platform/Postgresql.php
+++ b/vendor/zendframework/zendframework/library/Zend/Db/Adapter/Platform/Postgresql.php
@@ -73,7 +73,7 @@ class Postgresql implements PlatformInterface
      */
     public function quoteIdentifier($identifier)
     {
-        return '"' . str_replace('"', '\\' . '"', $identifier) . '"';
+        return '"' . str_replace('"', '""', $identifier) . '"';
     }
 
     /**
@@ -84,7 +84,7 @@ class Postgresql implements PlatformInterface
      */
     public function quoteIdentifierChain($identifierChain)
     {
-        $identifierChain = str_replace('"', '\\"', $identifierChain);
+        $identifierChain = str_replace('"', '""', $identifierChain);
         if (is_array($identifierChain)) {
             $identifierChain = implode('"."', $identifierChain);
         }
@@ -122,7 +122,7 @@ class Postgresql implements PlatformInterface
             'Attempting to quote a value in ' . __CLASS__ . ' without extension/driver support '
                 . 'can introduce security vulnerabilities in a production environment.'
         );
-        return '\'' . addcslashes($value, "\x00\n\r\\'\"\x1a") . '\'';
+        return 'E\'' . addcslashes($value, "\x00\n\r\\'\"\x1a") . '\'';
     }
 
     /**
@@ -144,7 +144,7 @@ class Postgresql implements PlatformInterface
         if ($this->resource instanceof \PDO) {
             return $this->resource->quote($value);
         }
-        return '\'' . addcslashes($value, "\x00\n\r\\'\"\x1a") . '\'';
+        return 'E\'' . addcslashes($value, "\x00\n\r\\'\"\x1a") . '\'';
     }
 
     /**
@@ -204,7 +204,7 @@ class Postgresql implements PlatformInterface
                 case 'as':
                     break;
                 default:
-                    $parts[$i] = '"' . str_replace('"', '\\' . '"', $part) . '"';
+                    $parts[$i] = '"' . str_replace('"', '""' . '"', $part) . '"';
             }
         }
         return implode('', $parts);
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/FilterPluginManager.php b/vendor/zendframework/zendframework/library/Zend/Filter/FilterPluginManager.php
index d556bf72a05c5230818e669c0f7b5623c6e6c637..481e0bdf733c08b295dd44e389a4f97890aeef53 100644
--- a/vendor/zendframework/zendframework/library/Zend/Filter/FilterPluginManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/FilterPluginManager.php
@@ -20,65 +20,74 @@ use Zend\ServiceManager\AbstractPluginManager;
  */
 class FilterPluginManager extends AbstractPluginManager
 {
+    /**
+     * Default set of plugins factories
+     *
+     * @var array
+     */
+    protected $factories = array(
+        'wordseparatortoseparator' => 'Zend\Filter\Word\Service\SeparatorToSeparatorFactory',
+    );
+
     /**
      * Default set of filters
      *
      * @var array
      */
     protected $invokableClasses = array(
-        'alnum'                     => 'Zend\I18n\Filter\Alnum',
-        'alpha'                     => 'Zend\I18n\Filter\Alpha',
-        'basename'                  => 'Zend\Filter\BaseName',
-        'boolean'                   => 'Zend\Filter\Boolean',
-        'callback'                  => 'Zend\Filter\Callback',
-        'compress'                  => 'Zend\Filter\Compress',
-        'compressbz2'               => 'Zend\Filter\Compress\Bz2',
-        'compressgz'                => 'Zend\Filter\Compress\Gz',
-        'compresslzf'               => 'Zend\Filter\Compress\Lzf',
-        'compressrar'               => 'Zend\Filter\Compress\Rar',
-        'compresssnappy'            => 'Zend\Filter\Compress\Snappy',
-        'compresstar'               => 'Zend\Filter\Compress\Tar',
-        'compresszip'               => 'Zend\Filter\Compress\Zip',
-        'datetimeformatter'         => 'Zend\Filter\DateTimeFormatter',
-        'decompress'                => 'Zend\Filter\Decompress',
-        'decrypt'                   => 'Zend\Filter\Decrypt',
-        'digits'                    => 'Zend\Filter\Digits',
-        'dir'                       => 'Zend\Filter\Dir',
-        'encrypt'                   => 'Zend\Filter\Encrypt',
-        'encryptblockcipher'        => 'Zend\Filter\Encrypt\BlockCipher',
-        'encryptopenssl'            => 'Zend\Filter\Encrypt\Openssl',
-        'filedecrypt'               => 'Zend\Filter\File\Decrypt',
-        'fileencrypt'               => 'Zend\Filter\File\Encrypt',
-        'filelowercase'             => 'Zend\Filter\File\LowerCase',
-        'filerename'                => 'Zend\Filter\File\Rename',
-        'filerenameupload'          => 'Zend\Filter\File\RenameUpload',
-        'fileuppercase'             => 'Zend\Filter\File\UpperCase',
-        'htmlentities'              => 'Zend\Filter\HtmlEntities',
-        'inflector'                 => 'Zend\Filter\Inflector',
-        'int'                       => 'Zend\Filter\Int',
-        'null'                      => 'Zend\Filter\Null',
-        'numberformat'              => 'Zend\I18n\Filter\NumberFormat',
-        'numberparse'               => 'Zend\I18n\Filter\NumberParse',
-        'pregreplace'               => 'Zend\Filter\PregReplace',
-        'realpath'                  => 'Zend\Filter\RealPath',
-        'stringtolower'             => 'Zend\Filter\StringToLower',
-        'stringtoupper'             => 'Zend\Filter\StringToUpper',
-        'stringtrim'                => 'Zend\Filter\StringTrim',
-        'stripnewlines'             => 'Zend\Filter\StripNewlines',
-        'striptags'                 => 'Zend\Filter\StripTags',
-        'urinormalize'              => 'Zend\Filter\UriNormalize',
-        'wordcamelcasetodash'       => 'Zend\Filter\Word\CamelCaseToDash',
-        'wordcamelcasetoseparator'  => 'Zend\Filter\Word\CamelCaseToSeparator',
-        'wordcamelcasetounderscore' => 'Zend\Filter\Word\CamelCaseToUnderscore',
-        'worddashtocamelcase'       => 'Zend\Filter\Word\DashToCamelCase',
-        'worddashtoseparator'       => 'Zend\Filter\Word\DashToSeparator',
-        'worddashtounderscore'      => 'Zend\Filter\Word\DashToUnderscore',
-        'wordseparatortocamelcase'  => 'Zend\Filter\Word\SeparatorToCamelCase',
-        'wordseparatortodash'       => 'Zend\Filter\Word\SeparatorToDash',
-        'wordseparatortoseparator'  => 'Zend\Filter\Word\SeparatorToSeparator',
-        'wordunderscoretocamelcase' => 'Zend\Filter\Word\UnderscoreToCamelCase',
-        'wordunderscoretodash'      => 'Zend\Filter\Word\UnderscoreToDash',
-        'wordunderscoretoseparator' => 'Zend\Filter\Word\UnderscoreToSeparator',
+        'alnum'                      => 'Zend\I18n\Filter\Alnum',
+        'alpha'                      => 'Zend\I18n\Filter\Alpha',
+        'basename'                   => 'Zend\Filter\BaseName',
+        'boolean'                    => 'Zend\Filter\Boolean',
+        'callback'                   => 'Zend\Filter\Callback',
+        'compress'                   => 'Zend\Filter\Compress',
+        'compressbz2'                => 'Zend\Filter\Compress\Bz2',
+        'compressgz'                 => 'Zend\Filter\Compress\Gz',
+        'compresslzf'                => 'Zend\Filter\Compress\Lzf',
+        'compressrar'                => 'Zend\Filter\Compress\Rar',
+        'compresssnappy'             => 'Zend\Filter\Compress\Snappy',
+        'compresstar'                => 'Zend\Filter\Compress\Tar',
+        'compresszip'                => 'Zend\Filter\Compress\Zip',
+        'datetimeformatter'          => 'Zend\Filter\DateTimeFormatter',
+        'decompress'                 => 'Zend\Filter\Decompress',
+        'decrypt'                    => 'Zend\Filter\Decrypt',
+        'digits'                     => 'Zend\Filter\Digits',
+        'dir'                        => 'Zend\Filter\Dir',
+        'encrypt'                    => 'Zend\Filter\Encrypt',
+        'encryptblockcipher'         => 'Zend\Filter\Encrypt\BlockCipher',
+        'encryptopenssl'             => 'Zend\Filter\Encrypt\Openssl',
+        'filedecrypt'                => 'Zend\Filter\File\Decrypt',
+        'fileencrypt'                => 'Zend\Filter\File\Encrypt',
+        'filelowercase'              => 'Zend\Filter\File\LowerCase',
+        'filerename'                 => 'Zend\Filter\File\Rename',
+        'filerenameupload'           => 'Zend\Filter\File\RenameUpload',
+        'fileuppercase'              => 'Zend\Filter\File\UpperCase',
+        'htmlentities'               => 'Zend\Filter\HtmlEntities',
+        'inflector'                  => 'Zend\Filter\Inflector',
+        'int'                        => 'Zend\Filter\Int',
+        'null'                       => 'Zend\Filter\Null',
+        'numberformat'               => 'Zend\I18n\Filter\NumberFormat',
+        'numberparse'                => 'Zend\I18n\Filter\NumberParse',
+        'pregreplace'                => 'Zend\Filter\PregReplace',
+        'realpath'                   => 'Zend\Filter\RealPath',
+        'stringtolower'              => 'Zend\Filter\StringToLower',
+        'stringtoupper'              => 'Zend\Filter\StringToUpper',
+        'stringtrim'                 => 'Zend\Filter\StringTrim',
+        'stripnewlines'              => 'Zend\Filter\StripNewlines',
+        'striptags'                  => 'Zend\Filter\StripTags',
+        'urinormalize'               => 'Zend\Filter\UriNormalize',
+        'wordcamelcasetodash'        => 'Zend\Filter\Word\CamelCaseToDash',
+        'wordcamelcasetoseparator'   => 'Zend\Filter\Word\CamelCaseToSeparator',
+        'wordcamelcasetounderscore'  => 'Zend\Filter\Word\CamelCaseToUnderscore',
+        'worddashtocamelcase'        => 'Zend\Filter\Word\DashToCamelCase',
+        'worddashtoseparator'        => 'Zend\Filter\Word\DashToSeparator',
+        'worddashtounderscore'       => 'Zend\Filter\Word\DashToUnderscore',
+        'wordseparatortocamelcase'   => 'Zend\Filter\Word\SeparatorToCamelCase',
+        'wordseparatortodash'        => 'Zend\Filter\Word\SeparatorToDash',
+        'wordunderscoretocamelcase'  => 'Zend\Filter\Word\UnderscoreToCamelCase',
+        'wordunderscoretostudlycase' => 'Zend\Filter\Word\UnderscoreToStudlyCase',
+        'wordunderscoretodash'       => 'Zend\Filter\Word\UnderscoreToDash',
+        'wordunderscoretoseparator'  => 'Zend\Filter\Word\UnderscoreToSeparator',
     );
 
     /**
diff --git a/vendor/zendframework/zendframework/library/Zend/Filter/Word/Service/SeparatorToSeparatorFactory.php b/vendor/zendframework/zendframework/library/Zend/Filter/Word/Service/SeparatorToSeparatorFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..148ac3b0577f61fc8bcc3e162a84dadc9cf2c618
--- /dev/null
+++ b/vendor/zendframework/zendframework/library/Zend/Filter/Word/Service/SeparatorToSeparatorFactory.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace Zend\Filter\Word\Service;
+
+use Zend\Filter\Word\SeparatorToSeparator;
+use Zend\ServiceManager\FactoryInterface;
+use Zend\ServiceManager\MutableCreationOptionsInterface;
+use Zend\ServiceManager\ServiceLocatorInterface;
+
+class SeparatorToSeparatorFactory implements
+    FactoryInterface,
+    MutableCreationOptionsInterface
+{
+    /**
+     * @var array
+     */
+    protected $creationOptions = array();
+
+    /**
+     * Set creation options
+     *
+     * @param array $creationOptions
+     * @return void
+     */
+    public function setCreationOptions(array $creationOptions)
+    {
+        $this->creationOptions = $creationOptions;
+    }
+
+    /**
+     * Get creation options
+     *
+     * @return array
+     */
+    public function getCreationOptions()
+    {
+        return $this->creationOptions;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * @return SeparatorToSeparator
+     * @throws ServiceNotCreatedException if Controllermanager service is not found in application service locator
+     */
+    public function createService(ServiceLocatorInterface $plugins)
+    {
+        return new SeparatorToSeparator(
+            isset($this->creationOptions['search_separator']) ? $this->creationOptions['search_separator'] : ' ',
+            isset($this->creationOptions['replacement_separator']) ? $this->creationOptions['replacement_separator'] : '-'
+        );
+    }
+}
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/Element/Url.php b/vendor/zendframework/zendframework/library/Zend/Form/Element/Url.php
index 3aceca53efbbc67f3bb4d8fdc2c0d68f1c567f56..f03b171352efe03557a7bfc1bfd7dee6302ffef5 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/Element/Url.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/Element/Url.php
@@ -48,7 +48,7 @@ class Url extends Element implements InputProviderInterface
     /**
      * Provide default input rules for this element
      *
-     * Attaches an email validator.
+     * Attaches an uri validator.
      *
      * @return array
      */
diff --git a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCollection.php b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCollection.php
index fd63aa93b0a1a7780d799a84337fb32087eb419d..dc336728ef2b164e9590969b08e50289d8e81da3 100644
--- a/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCollection.php
+++ b/vendor/zendframework/zendframework/library/Zend/Form/View/Helper/FormCollection.php
@@ -113,7 +113,7 @@ class FormCollection extends AbstractHelper
 
         foreach ($element->getIterator() as $elementOrFieldset) {
             if ($elementOrFieldset instanceof FieldsetInterface) {
-                $markup .= $fieldsetHelper($elementOrFieldset);
+                $markup .= $fieldsetHelper($elementOrFieldset, $this->shouldWrap());
             } elseif ($elementOrFieldset instanceof ElementInterface) {
                 $markup .= $elementHelper($elementOrFieldset);
             }
@@ -178,7 +178,7 @@ class FormCollection extends AbstractHelper
         $elementOrFieldset = $collection->getTemplateElement();
 
         if ($elementOrFieldset instanceof FieldsetInterface) {
-            $templateMarkup .= $fieldsetHelper($elementOrFieldset);
+            $templateMarkup .= $fieldsetHelper($elementOrFieldset, $this->shouldWrap());
         } elseif ($elementOrFieldset instanceof ElementInterface) {
             $templateMarkup .= $elementHelper($elementOrFieldset);
         }
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Request.php b/vendor/zendframework/zendframework/library/Zend/Http/Request.php
index 9e53ac2ec954b69d040563e1350980f0c48bd4f9..1c8956a353a13f938df709c63236e8c09749ecc9 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Request.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Request.php
@@ -93,6 +93,13 @@ class Request extends AbstractMessage implements RequestInterface
         $request->setMethod($matches['method']);
         $request->setUri($matches['uri']);
 
+        $parsedUri = parse_url($matches['uri']);
+        if (array_key_exists('query', $parsedUri)) {
+            $parsedQuery = array();
+            parse_str($parsedUri['query'], $parsedQuery);
+            $request->setQuery(new Parameters($parsedQuery));
+        }
+
         if (isset($matches['version'])) {
             $request->setVersion($matches['version']);
         }
diff --git a/vendor/zendframework/zendframework/library/Zend/Http/Response.php b/vendor/zendframework/zendframework/library/Zend/Http/Response.php
index 4ff8b99b1cf49e28a5086fe958638de6c4026e17..e99ce5d6d66f704a00c89dae5f83aababa1f14f2 100644
--- a/vendor/zendframework/zendframework/library/Zend/Http/Response.php
+++ b/vendor/zendframework/zendframework/library/Zend/Http/Response.php
@@ -124,7 +124,7 @@ class Response extends AbstractMessage implements ResponseInterface
         411 => 'Length Required',
         412 => 'Precondition Failed',
         413 => 'Request Entity Too Large',
-        414 => 'Request-URI Too Large',
+        414 => 'Request-URI Too Long',
         415 => 'Unsupported Media Type',
         416 => 'Requested range not satisfiable',
         417 => 'Expectation Failed',
diff --git a/vendor/zendframework/zendframework/library/Zend/I18n/Validator/DateTime.php b/vendor/zendframework/zendframework/library/Zend/I18n/Validator/DateTime.php
index f67886b24bb92096a23ba5b372ef833d80e487eb..24355d1a586f6cbc3b4d430d400bf10c359e834a 100644
--- a/vendor/zendframework/zendframework/library/Zend/I18n/Validator/DateTime.php
+++ b/vendor/zendframework/zendframework/library/Zend/I18n/Validator/DateTime.php
@@ -272,7 +272,7 @@ class DateTime extends AbstractValidator
                 throw new ValidatorException\InvalidArgumentException($formatter->getErrorMessage());
             }
         } catch (IntlException $intlException) {
-            throw new ValidatorException\InvalidArgumentException($e->getMessage(), 0, $intlException);
+            throw new ValidatorException\InvalidArgumentException($intlException->getMessage(), 0, $intlException);
         }
 
 
diff --git a/vendor/zendframework/zendframework/library/Zend/I18n/Validator/Float.php b/vendor/zendframework/zendframework/library/Zend/I18n/Validator/Float.php
index b52aa3962cf084c0e9210f24890ca5b1536395ff..f556bea722ee46e99a5c795147899f5e6ccdbee9 100644
--- a/vendor/zendframework/zendframework/library/Zend/I18n/Validator/Float.php
+++ b/vendor/zendframework/zendframework/library/Zend/I18n/Validator/Float.php
@@ -128,7 +128,7 @@ class Float extends AbstractValidator
                 throw new Exception\InvalidArgumentException($formatter->getErrorMessage());
             }
         } catch (IntlException $intlException) {
-            throw new Exception\InvalidArgumentException($e->getMessage(), 0, $intlException);
+            throw new Exception\InvalidArgumentException($intlException->getMessage(), 0, $intlException);
         }
 
         if (StringUtils::hasPcreUnicodeSupport()) {
diff --git a/vendor/zendframework/zendframework/library/Zend/Loader/ModuleAutoloader.php b/vendor/zendframework/zendframework/library/Zend/Loader/ModuleAutoloader.php
index 773f3dc7a00a80aff78e9abd26d47717b5b22860..e867aae84193772fe9413c499f2235d86080dc29 100644
--- a/vendor/zendframework/zendframework/library/Zend/Loader/ModuleAutoloader.php
+++ b/vendor/zendframework/zendframework/library/Zend/Loader/ModuleAutoloader.php
@@ -13,6 +13,8 @@ namespace Zend\Loader;
 require_once __DIR__ . '/SplAutoloader.php';
 
 use GlobIterator;
+use Phar;
+use PharFileInfo;
 use SplFileInfo;
 use Traversable;
 
@@ -33,6 +35,11 @@ class ModuleAutoloader implements SplAutoloader
      */
     protected $namespacedPaths = array();
 
+    /**
+     * @var string Will contain the absolute phar:// path to the executable when packaged as phar file
+     */
+    protected $pharBasePath = "";
+
     /**
      * @var array An array of supported phar extensions (filled on constructor)
      */
@@ -53,6 +60,7 @@ class ModuleAutoloader implements SplAutoloader
     public function __construct($options = null)
     {
         if (extension_loaded('phar')) {
+            $this->pharBasePath = Phar::running(true);
             $this->pharExtensions = array(
                 'phar',
                 'phar.tar',
@@ -185,7 +193,9 @@ class ModuleAutoloader implements SplAutoloader
             $path = $path . $moduleClassPath;
 
             if ($path == '.' || substr($path, 0, 2) == './' || substr($path, 0, 2) == '.\\') {
-                $basePath = realpath('.');
+                if (!$basePath = $this->pharBasePath) {
+                    $basePath = realpath('.');
+                }
 
                 if (false === $basePath) {
                     $basePath = getcwd();
@@ -232,12 +242,19 @@ class ModuleAutoloader implements SplAutoloader
      */
     protected function loadModuleFromDir($dirPath, $class)
     {
-        $file = new SplFileInfo($dirPath . '/Module.php');
-        if ($file->isReadable() && $file->isFile()) {
+        $modulePath = $dirPath . '/Module.php';
+        if (substr($modulePath, 0, 7) === 'phar://') {
+            $file = new PharFileInfo($modulePath);
+        } else {
+            $file = new SplFileInfo($modulePath);
+        }
+
+        if (($file->isReadable() && $file->isFile())) {
             // Found directory with Module.php in it
-            require_once $file->getRealPath();
+            $absModulePath = $this->pharBasePath ? (string) $file : $file->getRealPath();
+            require_once $absModulePath;
             if (class_exists($class)) {
-                $this->moduleClassMap[$class] = $file->getRealPath();
+                $this->moduleClassMap[$class] = $absModulePath;
                 return $class;
             }
         }
diff --git a/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ModuleResolverListener.php b/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ModuleResolverListener.php
index bf8543f269c243f68764d125527771e78b37d167..b058796bcd0fefa505f66be631a8bebea68d9823 100644
--- a/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ModuleResolverListener.php
+++ b/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ModuleResolverListener.php
@@ -29,7 +29,6 @@ class ModuleResolverListener extends AbstractListener
             return false;
         }
 
-        $module = new $class;
-        return $module;
+        return new $class;
     }
 }
diff --git a/vendor/zendframework/zendframework/library/Zend/Paginator/Paginator.php b/vendor/zendframework/zendframework/library/Zend/Paginator/Paginator.php
index 03b73caa44409c6d4571abee6b36db81789b9ab0..d571189829530a68f16234af9613b862ab6ae990 100644
--- a/vendor/zendframework/zendframework/library/Zend/Paginator/Paginator.php
+++ b/vendor/zendframework/zendframework/library/Zend/Paginator/Paginator.php
@@ -140,7 +140,7 @@ class Paginator implements Countable, IteratorAggregate
     /**
      * Pages
      *
-     * @var array
+     * @var \stdClass
      */
     protected $pages = null;
 
@@ -665,7 +665,7 @@ class Paginator implements Countable, IteratorAggregate
      * Returns the page collection.
      *
      * @param  string $scrollingStyle Scrolling style
-     * @return array
+     * @return \stdClass
      */
     public function getPages($scrollingStyle = null)
     {
diff --git a/vendor/zendframework/zendframework/library/Zend/Session/SessionManager.php b/vendor/zendframework/zendframework/library/Zend/Session/SessionManager.php
index 77219f645a1898bb99855fc9abe602e4dcc9466b..1a825052bbe2684380b028d76a607c88273f5d3c 100644
--- a/vendor/zendframework/zendframework/library/Zend/Session/SessionManager.php
+++ b/vendor/zendframework/zendframework/library/Zend/Session/SessionManager.php
@@ -93,7 +93,10 @@ class SessionManager extends AbstractManager
             $this->registerSaveHandler($saveHandler);
         }
 
-        $oldSessionData = $_SESSION;
+        $oldSessionData = array();
+        if (isset($_SESSION)) {
+            $oldSessionData = $_SESSION;
+        }
 
         session_start();
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Stdlib/AbstractOptions.php b/vendor/zendframework/zendframework/library/Zend/Stdlib/AbstractOptions.php
index 29a491f6a5517f223e2450dc3f303dbd92bafa0d..fbb89c1c1b5b967a116e894d6e235021982bfd15 100644
--- a/vendor/zendframework/zendframework/library/Zend/Stdlib/AbstractOptions.php
+++ b/vendor/zendframework/zendframework/library/Zend/Stdlib/AbstractOptions.php
@@ -108,9 +108,10 @@ abstract class AbstractOptions implements ParameterObjectInterface
 
         if ($this->__strictMode__) {
             throw new Exception\BadMethodCallException(sprintf(
-                'The option "%s" does not have a matching "%s" setter method which must be defined',
+                'The option "%s" does not have a matching "%s" ("%s") setter method which must be defined',
                 $key,
-                'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $key)))
+                'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $key))),
+                $setter
             ));
         }
     }
diff --git a/vendor/zendframework/zendframework/library/Zend/Uri/Uri.php b/vendor/zendframework/zendframework/library/Zend/Uri/Uri.php
index f6ab7f175102f084e47e9e722d3449d6599b1972..24748ae9338ebbfbdd526202a704243b7c571b8e 100644
--- a/vendor/zendframework/zendframework/library/Zend/Uri/Uri.php
+++ b/vendor/zendframework/zendframework/library/Zend/Uri/Uri.php
@@ -36,18 +36,18 @@ class Uri implements UriInterface
      * Place 1 or 0 in the different positions for enable or disable the part.
      * Finally use a hexadecimal representation.
      */
-    const HOST_IPV4                 = 0x01; //00001
-    const HOST_IPV6                 = 0x02; //00010
-    const HOST_IPVFUTURE            = 0x04; //00100
-    const HOST_IPVANY               = 0x07; //00111
-    const HOST_DNS                  = 0x08; //01000
-    const HOST_DNS_OR_IPV4          = 0x09; //01001
-    const HOST_DNS_OR_IPV6          = 0x0A; //01010
-    const HOST_DNS_OR_IPV4_OR_IPV6  = 0x0B; //01011
-    const HOST_DNS_OR_IPVANY        = 0x0F; //01111
-    const HOST_REGNAME              = 0x10; //10000
-    const HOST_DNS_OR_IPV4_OR_IPV6_OR_REGNAME = 0x13; //10011
-    const HOST_ALL                  = 0x1F; //11111
+    const HOST_IPV4                           = 0x01; //00001
+    const HOST_IPV6                           = 0x02; //00010
+    const HOST_IPVFUTURE                      = 0x04; //00100
+    const HOST_IPVANY                         = 0x07; //00111
+    const HOST_DNS                            = 0x08; //01000
+    const HOST_DNS_OR_IPV4                    = 0x09; //01001
+    const HOST_DNS_OR_IPV6                    = 0x0A; //01010
+    const HOST_DNS_OR_IPV4_OR_IPV6            = 0x0B; //01011
+    const HOST_DNS_OR_IPVANY                  = 0x0F; //01111
+    const HOST_REGNAME                        = 0x10; //10000
+    const HOST_DNS_OR_IPV4_OR_IPV6_OR_REGNAME = 0x1B; //11011
+    const HOST_ALL                            = 0x1F; //11111
 
     /**
      * URI scheme
diff --git a/vendor/zendframework/zendframework/library/Zend/Validator/Date.php b/vendor/zendframework/zendframework/library/Zend/Validator/Date.php
index 456bde8b1fc60ed817875ca727673c7ca606b318..19fa034bb40ed409d536935aa6298a0a5d828057 100644
--- a/vendor/zendframework/zendframework/library/Zend/Validator/Date.php
+++ b/vendor/zendframework/zendframework/library/Zend/Validator/Date.php
@@ -10,6 +10,7 @@
 namespace Zend\Validator;
 
 use DateTime;
+use DateTimeInterface;
 use Traversable;
 
 /**
@@ -127,7 +128,8 @@ class Date extends AbstractValidator
      */
     protected function convertToDateTime($param, $addErrors = true)
     {
-        if ($param instanceof DateTime) {
+        // @TODO: when minimum dependency will be PHP 5.5, we can only keep check against DateTimeInterface
+        if ($param instanceof DateTime || $param instanceof DateTimeInterface) {
             return $param;
         }
 
diff --git a/vendor/zendframework/zendframework/library/Zend/Validator/Hostname.php b/vendor/zendframework/zendframework/library/Zend/Validator/Hostname.php
index 95abee9e915940326bd39acf3a6751382c1bb02c..cbf1652ac72579c39d798869f712a195567af0e3 100644
--- a/vendor/zendframework/zendframework/library/Zend/Validator/Hostname.php
+++ b/vendor/zendframework/zendframework/library/Zend/Validator/Hostname.php
@@ -843,6 +843,7 @@ class Hostname extends AbstractValidator
      * (.COM) International http://www.verisign.com/information-services/naming-services/internationalized-domain-names/index.html
      * (.DE) Germany http://www.denic.de/en/domains/idns/liste.html
      * (.DK) Danmark http://www.dk-hostmaster.dk/index.php?id=151
+     * (.EE) Estonia https://www.iana.org/domains/idn-tables/tables/pl_et-pl_1.0.html
      * (.ES) Spain https://www.nic.es/media/2008-05/1210147705287.pdf
      * (.FI) Finland http://www.ficora.fi/en/index/palvelut/fiverkkotunnukset/aakkostenkaytto.html
      * (.GR) Greece https://grweb.ics.forth.gr/CharacterTable1_en.jsp
@@ -894,6 +895,7 @@ class Hostname extends AbstractValidator
         'COM' => 'Hostname/Com.php',
         'DE'  => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿăąāćĉčċďđĕěėęēğĝġģĥħĭĩįīıĵķĺľļłńňņŋŏőōœĸŕřŗśŝšşťţŧŭůűũųūŵŷźžż]{1,63}$/iu'),
         'DK'  => array(1 => '/^[\x{002d}0-9a-zäéöü]{1,63}$/iu'),
+        'EE'  => array(1 => '/^[\x{002d}0-9a-zäõöüšž]{1,63}$/iu'),
         'ES'  => array(1 => '/^[\x{002d}0-9a-zàáçèéíïñòóúü·]{1,63}$/iu'),
         'EU'  => array(1 => '/^[\x{002d}0-9a-zà-öø-ÿ]{1,63}$/iu',
             2 => '/^[\x{002d}0-9a-zāăąćĉċčďđēĕėęěĝğġģĥħĩīĭįıĵķĺļľŀłńņňʼnŋōŏőœŕŗřśŝšťŧũūŭůűųŵŷźżž]{1,63}$/iu',
diff --git a/vendor/zendframework/zendframework/library/Zend/Version/Version.php b/vendor/zendframework/zendframework/library/Zend/Version/Version.php
index 7b27667e163bc90cef13edcff56379265e745164..711e32001fa7dc17063f7bbb47c2c296732a05bc 100644
--- a/vendor/zendframework/zendframework/library/Zend/Version/Version.php
+++ b/vendor/zendframework/zendframework/library/Zend/Version/Version.php
@@ -20,7 +20,7 @@ final class Version
     /**
      * Zend Framework version identification - see compareVersion()
      */
-    const VERSION = '2.3.4';
+    const VERSION = '2.3.5';
 
     /**
      * Github Service Identifier for version information is retrieved from