diff --git a/.gitignore b/.gitignore
index e5015e7ed..e610a7dd3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,7 @@ var/*
 ChangeLog
 AUTHORS
 etc/zaqar.conf.sample
+doc/source/_static/zaqar.conf.sample
 .idea
 # Files created by releasenotes build
 releasenotes/build
diff --git a/doc/requirements.txt b/doc/requirements.txt
index 90fcbd877..a80482018 100644
--- a/doc/requirements.txt
+++ b/doc/requirements.txt
@@ -2,7 +2,8 @@
 # of appearance. Changing the order has an impact on the overall integration
 # process, which may cause wedges in the gate later.
 openstackdocstheme>=1.18.1 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.3,<2.0.0;python_version=='2.7'  # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.3;python_version>='3.4'  # BSD
 sphinxcontrib-apidoc>=0.2.0  # BSD
 reno>=2.5.0 # Apache-2.0
 os-api-ref>=1.4.0 # Apache-2.0
diff --git a/lower-constraints.txt b/lower-constraints.txt
index b9f29a013..ae2f2394a 100644
--- a/lower-constraints.txt
+++ b/lower-constraints.txt
@@ -6,7 +6,7 @@ ddt==1.0.1
 doc8==0.6.0
 dogpile.cache==0.6.2
 enum34==1.0.4;python_version=='2.7'
-falcon==1.0.0
+falcon==1.1.0
 fixtures==3.0.0
 flake8==2.5.5
 future==0.16.0
diff --git a/requirements.txt b/requirements.txt
index 98e0f8430..10db9483e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,8 +5,8 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
 
 alembic>=0.8.10 # MIT
 Babel!=2.4.0,>=2.3.4 # BSD
-falcon>=1.0.0 # Apache-2.0
-jsonschema<3.0.0,>=2.6.0 # MIT
+falcon>=1.1.0 # Apache-2.0
+jsonschema>=2.6.0 # MIT
 iso8601>=0.1.11 # MIT
 keystonemiddleware>=4.17.0 # Apache-2.0
 msgpack>=0.5.1 # Apache-2.0
diff --git a/tox.ini b/tox.ini
index f788747b1..fde561fd3 100644
--- a/tox.ini
+++ b/tox.ini
@@ -14,7 +14,7 @@ setenv = VIRTUAL_ENV={envdir}
          OS_STDERR_CAPTURE=1
          OS_TEST_TIMEOUT=60
          OS_TEST_PATH=./zaqar/tests/unit
-deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
+deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
        -r{toxinidir}/requirements.txt
        -r{toxinidir}/test-requirements.txt
 commands =
@@ -63,9 +63,10 @@ commands = {posargs}
 [testenv:docs]
 basepython = python3
 deps =
-  -r{toxinidir}/doc/requirements.txt
+    -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+    -r{toxinidir}/doc/requirements.txt
 commands =
-  sphinx-build -W -b html doc/source doc/build/html
+    sphinx-build -W -b html doc/source doc/build/html
 
 [testenv:api-ref]
 basepython = python3
@@ -74,9 +75,12 @@ basepython = python3
 #
 whitelist_externals = bash
                       rm
+deps =
+    -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+    -r{toxinidir}/doc/requirements.txt
 commands =
-  rm -rf api-ref/build
-  sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
+    rm -rf api-ref/build
+    sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
 
 [testenv:debug]
 basepython = python3
@@ -84,9 +88,12 @@ commands = oslo_debug_helper {posargs}
 
 [testenv:releasenotes]
 basepython = python3
+deps =
+    -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
+    -r{toxinidir}/doc/requirements.txt
 commands =
-  doc8 releasenotes/source releasenotes/notes
-  sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
+    doc8 releasenotes/source releasenotes/notes
+    sphinx-build -a -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
 
 [flake8]
 exclude = .venv*,.git,.tox,dist,doc,*lib/python*,*.egg,.update-venv
diff --git a/zaqar/tests/functional/wsgi/v2/test_subscriptions.py b/zaqar/tests/functional/wsgi/v2/test_subscriptions.py
index 067da8d02..185d0df02 100644
--- a/zaqar/tests/functional/wsgi/v2/test_subscriptions.py
+++ b/zaqar/tests/functional/wsgi/v2/test_subscriptions.py
@@ -43,7 +43,7 @@ class TestSubscriptions(base.V2FunctionalTestBase):
 
         self.client.put(self.queue_url)
 
-        self.subscriptions_url = self.queue_url + '/subscriptions/'
+        self.subscriptions_url = self.queue_url + '/subscriptions'
         self.client.set_base_url(self.subscriptions_url)
 
     def tearDown(self):
@@ -51,7 +51,7 @@ class TestSubscriptions(base.V2FunctionalTestBase):
         result = self.client.get(self.subscriptions_url)
         subscriptions = result.json()['subscriptions']
         for sub in subscriptions:
-            sub_url = self.subscriptions_url + sub['id']
+            sub_url = self.subscriptions_url + '/' + sub['id']
             self.client.delete(sub_url)
         # Delete test queue.
         self.client.delete(self.queue_url)
@@ -72,7 +72,7 @@ class TestSubscriptions(base.V2FunctionalTestBase):
         result = self.client.post(data=doc)
         self.assertEqual(201, result.status_code)
         shortlive_id = result.json()['subscription_id']
-        shortlive_url = self.subscriptions_url + shortlive_id
+        shortlive_url = self.subscriptions_url + '/' + shortlive_id
 
         # Let's wait for subscription to expire.
         for i in range(self.class_ttl_gc_interval + ttl_for_shortlive):
@@ -97,7 +97,7 @@ class TestSubscriptions(base.V2FunctionalTestBase):
         result = self.client.post(data=doc)
         self.assertEqual(201, result.status_code)
         subscription_id = result.json()['subscription_id']
-        subscription_url = self.subscriptions_url + subscription_id
+        subscription_url = self.subscriptions_url + '/' + subscription_id
 
         # This is a minimum TTL allowed by server.
         updated_ttl = 60
diff --git a/zaqar/transport/wsgi/driver.py b/zaqar/transport/wsgi/driver.py
index 81516262b..a95f30b2d 100644
--- a/zaqar/transport/wsgi/driver.py
+++ b/zaqar/transport/wsgi/driver.py
@@ -129,6 +129,10 @@ class Driver(transport.DriverBase):
         else:
             self.app = falcon.API(before=self.before_hooks)
 
+        # Set options to keep behavior compatible to pre-2.0.0 falcon
+        self.app.req_options.auto_parse_qs_csv = True
+        self.app.req_options.keep_blank_qs_values = False
+
         self.app.add_error_handler(Exception, self._error_handler)
 
         for version_path, endpoints in catalog: