summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2012-01-05 06:09:08 -0500
committerChris McDonough <chrism@plope.com>2012-01-05 06:09:08 -0500
commitad9807016fd28b7da424174fdb6ed9b93641f58f (patch)
tree7afa1a80ede924d36ab5685de8d39b02e1ab8060
parent97bd71684fe70a69529a7991729894c16ab998dd (diff)
downloadpyramid-ad9807016fd28b7da424174fdb6ed9b93641f58f.tar.gz
pyramid-ad9807016fd28b7da424174fdb6ed9b93641f58f.tar.bz2
pyramid-ad9807016fd28b7da424174fdb6ed9b93641f58f.zip
garden
-rw-r--r--CHANGES.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 07c0b564d..93be3eab3 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -27,6 +27,51 @@ Bug Fixes
now been fixed and the code matches the documentation. See also
https://github.com/Pylons/pyramid/issues/386
+- Literal portions of route patterns were not URL-quoted when ``route_url``
+ or ``route_path`` was used.
+
+- The result of ``route_path`` or ``route_url`` might have been ``unicode``
+ or ``str`` depending on the input. It is now guaranteed to always be
+ ``str``.
+
+- URL matching when the pattern contained non-ASCII characters in literal
+ parts was indeterminate. Now the pattern supplied to ``add_route`` is
+ assumed to be either: a ``unicode`` value, or a ``str`` value that contains
+ only ASCII characters. If you now want to match the path info from a URL
+ that contains high order characters, you can pass the Unicode
+ representation of the decoded path portion in the pattern.
+
+- When using a ``traverse=`` route predicate, traversal would fail with a
+ URLDecodeError if there were any high-order characters in the traversal
+ pattern or in the matched dynamic segments.
+
+Backwards Incompatibilities
+---------------------------
+
+- String values passed to ``route_url`` or ``route_path`` that are meant to
+ replace "remainder" matches will now be URL-quoted except for embedded
+ slashes. For example::
+
+ config.add_route('remain', '/foo*remainder')
+ request.route_path('remain', remainder='abc / def')
+ # -> '/foo/abc%20/%20def'
+
+ Previously string values passed as remainder replacements were tacked on
+ untouched, without any URL-quoting. But this doesn't really work logically
+ if the value passed is Unicode (raw unicode cannot be placed in a URL or in
+ a path) and it is inconsistent with the rest of the URL generation
+ machinery if the value is a string (it won't be quoted unless by the
+ caller).
+
+ Some folks will have been relying on the older behavior to tack on query
+ string elements and anchor portions of the URL; sorry, you'll need to
+ change your code to use the ``_query`` and/or ``_anchor`` arguments to
+ ``route_path`` or ``route_url`` to do this now.
+
+- If you pass a bytestring that contains non-ASCII characters to
+ ``add_route`` as a pattern, it will now fail at startup time. Use Unicode
+ instead.
+
1.3a3 (2011-12-21)
==================