diff --git a/AUTHORS b/AUTHORS index 1d7e4c6b9..320feaa04 100644 --- a/AUTHORS +++ b/AUTHORS @@ -120,6 +120,7 @@ listed below by date of first contribution: * Laurent Chriqui (laurent-chriqui) * Andrii Oriekhov (andriyor) * Tom Boshoven (TBoshoven) +* Libor JelĂ­nek (liborjelinek) (et al.) diff --git a/docs/_newsfragments/2157.bugfix.rst b/docs/_newsfragments/2157.bugfix.rst index f2a33e7f1..3a925ef92 100644 --- a/docs/_newsfragments/2157.bugfix.rst +++ b/docs/_newsfragments/2157.bugfix.rst @@ -1 +1,7 @@ -:class:`~falcon.testing.TestCase` mimics behavior of real WSGI servers following WSGI spec where is said that ``PATH_INFO`` CGI variable for WSGI app is already percent-decoded. However, this breaks routing if slash (encoded as ``%2F``) is part of path element, not a path separator, as explained in the FAQ :ref:`routing_encoded_slashes`. The workaround based on some WSGI servers' non-standard CGI variables described in :ref:`raw_url_path_recipe` recipe breaks tests because :py:func:`falcon.testing.helpers.create_environ` hard-code CGI variable ``RAW_URI`` to ``/`` instead to real path *before* percent-decoding. \ No newline at end of file +Falcon's :class:`~falcon.testing.TestClient` mimics the behavior of real WSGI +servers (and the WSGI spec) by presenting the ``PATH_INFO`` CGI variable +already in the percent-decoded form. However, the client also used to +indiscriminately set the non-standard ``RAW_URI`` CGI variable to ``/``, which +made writing tests for apps :ref:`decoding raw URL path ` +cumbersome. This has been fixed, and the raw path of a simulated request is now +preserved in ``RAW_URI``. diff --git a/docs/changes/3.1.2.rst b/docs/changes/3.1.2.rst new file mode 100644 index 000000000..a32f91c36 --- /dev/null +++ b/docs/changes/3.1.2.rst @@ -0,0 +1,35 @@ +Changelog for Falcon 3.1.1 +========================== + +Summary +------- + +This is a minor point release fixing a couple of high impact bugs, +as well as publishing binary wheels for the recently released CPython 3.12. + + +Changes to Supported Platforms +------------------------------ + +- Falcon is now supported (including binary wheels) on CPython 3.12. + A couple of remaining stdlib deprecations from 3.11 and 3.12 will be + addressed in Falcon 4.0. +- As with the previous release, Python 3.5 & 3.6 remain deprecated and + will no longer be supported in Falcon 4.0. +- EOL Python 3.7 will no longer be actively supported in 4.0, but the framework + should still continue to install from source. We may remove the support for + 3.7 altogether later in the 4.x series if we are faced with incompatible + ecosystem changes in typing, Cython, etc. + + +.. towncrier release notes start + +Contributors to this Release +---------------------------- + +Many thanks to those who contributed to this bugfix release: + +- `CaselIT `__ +- `kgriffs `__ +- `liborjelinek `__ +- `vytas7 `__ diff --git a/docs/changes/index.rst b/docs/changes/index.rst index 6b8d31c94..8c94675e5 100644 --- a/docs/changes/index.rst +++ b/docs/changes/index.rst @@ -3,6 +3,7 @@ Changelogs .. toctree:: + 3.1.2 <3.1.2> 3.1.1 <3.1.1> 3.1.0 <3.1.0> 3.0.1 <3.0.1> diff --git a/pyproject.toml b/pyproject.toml index 5b3a42446..797111182 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ [tool.towncrier] package = "falcon" package_dir = "" - filename = "docs/changes/3.1.1.rst" + filename = "docs/changes/3.1.2.rst" directory = "docs/_newsfragments" issue_format = "`#{issue} `__"