diff options
| author | Chris McDonough <chrism@plope.com> | 2012-01-05 06:09:08 -0500 |
|---|---|---|
| committer | Chris McDonough <chrism@plope.com> | 2012-01-05 06:09:08 -0500 |
| commit | ad9807016fd28b7da424174fdb6ed9b93641f58f (patch) | |
| tree | 7afa1a80ede924d36ab5685de8d39b02e1ab8060 | |
| parent | 97bd71684fe70a69529a7991729894c16ab998dd (diff) | |
| download | pyramid-ad9807016fd28b7da424174fdb6ed9b93641f58f.tar.gz pyramid-ad9807016fd28b7da424174fdb6ed9b93641f58f.tar.bz2 pyramid-ad9807016fd28b7da424174fdb6ed9b93641f58f.zip | |
garden
| -rw-r--r-- | CHANGES.txt | 45 |
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) ================== |
