summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt32
-rw-r--r--pyramid/router.py8
2 files changed, 32 insertions, 8 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 413f76729..29d3d472c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,35 @@
+Next release
+============
+
+Backwards Incompatibilities
+---------------------------
+
+- The pyramid Router attempted to set a value into the key
+ ``environ['repoze.bfg.message']`` when it caught a view-related exception
+ for backwards compatibility with :mod:`repoze.bfg` during error handling.
+ It did this by using code that looked like so::
+
+ # "why" is an exception object
+ try:
+ msg = why[0]
+ except:
+ msg = ''
+
+ environ['repoze.bfg.message'] = msg
+
+ Use of the value ``environ['repoze.bfg.message']`` was docs-deprecated in
+ Pyramid 1.0. Our standing policy is to not remove features after a
+ deprecation for two full major releases, so this code was originally slated
+ to be removed in Pyramid 1.2. However, computing the
+ ``repoze.bfg.message`` value was the source of at least one bug found in
+ the wild (https://github.com/Pylons/pyramid/issues/199), and there isn't a
+ foolproof way to both preserve backwards compatibility and to fix the bug.
+ Therefore, the code which sets the value has been removed in this release.
+ Code in exception views which relies on this value's presence in the
+ environment should now use the ``exception`` attribute of the request
+ (e.g. ``request.exception[0]``) to retrieve the message instead of relying
+ on ``request.environ['repoze.bfg.message']``.
+
1.1a1 (2011-06-20)
==================
diff --git a/pyramid/router.py b/pyramid/router.py
index 8e33332df..ef04497f9 100644
--- a/pyramid/router.py
+++ b/pyramid/router.py
@@ -170,14 +170,6 @@ class Router(object):
if view_callable is None:
raise
- try:
- msg = why[0]
- except:
- msg = ''
-
- # repoze.bfg.message docs-deprecated in Pyramid 1.0
- environ['repoze.bfg.message'] = msg
-
result = view_callable(why, request)
# process the response