From 101471235cc6923709b5e99d927ae21b07a8c029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Mon, 9 Jan 2017 14:09:49 +0100 Subject: [PATCH] Pinning Jinja to <2.9 for now Variables defined in an outer scope can no longer be set from an inner scope (see pallets/jinja#641). Regardless of whether that is right or wrong, we can't control if people are using such constructs in their plugins, which versions of Jinja >= 2.9 would now break out of the blue, regardless of OctoPrint version. That is unacceptable sadly and requires pinning for now, until plugin authors have had a chance to adapt accordingly. Also see #1697. --- setup.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/setup.py b/setup.py index 9bc6796e..6fa05440 100644 --- a/setup.py +++ b/setup.py @@ -15,6 +15,9 @@ import octoprint_setuptools # Requirements for our application INSTALL_REQUIRES = [ "flask>=0.9,<0.11", + "Jinja2>=2.8,<2.9", # Jinja 2.9 has breaking changes WRT template scope - we can't + # guarantee backwards compatibility for plugins and such with that + # version, hence we need to pin to a lower version for now. See #1697 "werkzeug>=0.8.3,<0.9", "tornado==4.0.2", # pinned for now, we need to migrate to a newer tornado, but due # to some voodoo needed to get large streamed uploads and downloads