diff options
| author | Chris McDonough <chrism@agendaless.com> | 2010-09-30 06:06:32 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2010-09-30 06:06:32 +0000 |
| commit | 4df388dd6b262691e239c7d9e96ce1b2bba6d272 (patch) | |
| tree | 367208c260a9f0adac7c0df814c408bee2c1c6b0 /docs/whatsnew-1.3.rst | |
| parent | 5ed60425340f5739bdaff29d916f0327e91c9bdf (diff) | |
| download | pyramid-4df388dd6b262691e239c7d9e96ce1b2bba6d272.tar.gz pyramid-4df388dd6b262691e239c7d9e96ce1b2bba6d272.tar.bz2 pyramid-4df388dd6b262691e239c7d9e96ce1b2bba6d272.zip | |
work up
Diffstat (limited to 'docs/whatsnew-1.3.rst')
| -rw-r--r-- | docs/whatsnew-1.3.rst | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/whatsnew-1.3.rst b/docs/whatsnew-1.3.rst index c356d5fa4..8447f8e38 100644 --- a/docs/whatsnew-1.3.rst +++ b/docs/whatsnew-1.3.rst @@ -407,6 +407,24 @@ Minor Feature Additions - Compatibility with WebOb 1.0 (now requires WebOb >= 1.0). +- The :meth:`repoze.bfg.traversal.traversal_path` API now eagerly + attempts to encode a Unicode ``path`` into ASCII before attempting + to split it and decode its segments. This is for convenience, + effectively to allow a (stored-as-Unicode-in-a-database, or + retrieved-as-Unicode-from-a-request-parameter) Unicode path to be + passed to :meth:`repoze.bfg.traversal.find_model`, which eventually + internally uses the ``traversal_path`` function under the hood. In + version 1.2 and prior, if the ``path`` was Unicode, that Unicode was + split on slashes and each resulting segment value was Unicode. An + inappropriate call to the ``decode()`` method of a resulting Unicode + path segment could cause a ``UnicodeDecodeError`` to occur even if + the Unicode representation of the path contained no 'high order' + characters (it effectively did a "double decode"). By converting + the Unicode path argument to ASCII before we attempt to decode and + split, genuine errors will occur in a more obvious place while also + allowing us to handle (for convenience) the case that it's a Unicode + representation formed entirely from ASCII-compatible characters. + Backwards Incompatibilities --------------------------- |
