Skip to content

Commit

Permalink
chore: incorporate 3.1.2 & 3.1.3 releases (#2195)
Browse files Browse the repository at this point in the history
* chore: incorporate 3.1.2 & 3.1.3 releases

* chore(s390x): use older urllib3 on 3.7

* docs(changes): update notes on platform support
  • Loading branch information
vytas7 committed Dec 5, 2023
1 parent 52db96d commit 241205e
Show file tree
Hide file tree
Showing 9 changed files with 78 additions and 12 deletions.
1 change: 1 addition & 0 deletions AUTHORS
Expand Up @@ -131,6 +131,7 @@ listed below by date of first contribution:
* John G G (john-g-g)
* Aryan Iyappan (aryaniyaps)
* Eujin Ong (euj1n0ng)
* Libor Jelínek (liborjelinek)

(et al.)

Expand Down
4 changes: 0 additions & 4 deletions docs/_newsfragments/2051.bugfix.rst

This file was deleted.

6 changes: 0 additions & 6 deletions docs/_newsfragments/2146.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion docs/_newsfragments/2157.bugfix.rst

This file was deleted.

54 changes: 54 additions & 0 deletions docs/changes/3.1.2.rst
@@ -0,0 +1,54 @@
Changelog for Falcon 3.1.2
==========================

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.


Fixed
-----

- Some essential files were unintentionally omitted from the source distribution
archive, rendering it unsuitable to run the test suite off.
This has been fixed, and the ``sdist`` tarball should now be usable as a base
for packaging Falcon in OS distributions. (`#2051 <https://github.com/falconry/falcon/issues/2051>`__)
- :ref:`WebSocket <ws>` implementation has been fixed to properly handle
:class:`~falcon.HTTPError` and :class:`~falcon.HTTPStatus` exceptions raised by
custom :func:`error handlers <falcon.asgi.App.add_error_handler>`.
The WebSocket connection is now correctly closed with an appropriate code
instead of bubbling up an unhandled error to the application server. (`#2146 <https://github.com/falconry/falcon/issues/2146>`__)
- 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 <raw_url_path_recipe>`
cumbersome. This has been fixed, and the raw path of a simulated request is now
preserved in ``RAW_URI``. (`#2157 <https://github.com/falconry/falcon/issues/2157>`__)


Contributors to this Release
----------------------------

Many thanks to those who contributed to this bugfix release:

- `CaselIT <https://github.com/CaselIT>`__
- `kgriffs <https://github.com/kgriffs>`__
- `liborjelinek <https://github.com/liborjelinek>`__
- `vytas7 <https://github.com/vytas7>`__
11 changes: 11 additions & 0 deletions docs/changes/3.1.3.rst
@@ -0,0 +1,11 @@
Changelog for Falcon 3.1.3
==========================

Summary
-------

This is a minor bugfix release that only pins the ``pytest-asyncio`` test
dependency in order to prevent an incompatible version from interfering with
the build workflow.

This release is otherwise identical to :doc:`Falcon 3.1.2 <3.1.2>`.
5 changes: 5 additions & 0 deletions docs/changes/4.0.0.rst
Expand Up @@ -13,7 +13,12 @@ Changes to Supported Platforms
------------------------------

- CPython 3.11 is now fully supported. (`#2072 <https://github.com/falconry/falcon/issues/2072>`__)
- CPython 3.12 will be fully supported. (`#2196 <https://github.com/falconry/falcon/issues/2196>`__)
- End-of-life Python 3.5 & 3.6 are no longer supported. (`#2074 <https://github.com/falconry/falcon/pull/2074>`__)
- Python 3.7 is no longer actively supported, 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
Expand Down
2 changes: 2 additions & 0 deletions docs/changes/index.rst
Expand Up @@ -4,6 +4,8 @@ Changelogs
.. toctree::

4.0.0 <4.0.0>
3.1.3 <3.1.3>
3.1.2 <3.1.2>
3.1.1 <3.1.1>
3.1.0 <3.1.0>
3.0.1 <3.0.1>
Expand Down
6 changes: 5 additions & 1 deletion requirements/tests
Expand Up @@ -7,7 +7,8 @@ requests
testtools; python_version < '3.10'

# ASGI Specific (daphne is installed on a its own tox env)
pytest-asyncio
# TODO(vytas): Some ASGI tests hang with pytest-asyncio-0.23 on 3.8 & 3.9.
pytest-asyncio < 0.22.0
aiofiles
httpx
uvicorn >= 0.17.0
Expand All @@ -24,3 +25,6 @@ python-rapidjson; platform_machine != 's390x' and platform_machine != 'aarch64'

# wheels are missing some EoL interpreters and non-x86 platforms; build would fail unless rust is available
orjson; platform_python_implementation != 'PyPy' and platform_machine != 's390x' and platform_machine != 'aarch64'

# Images for 3.7 on emulated architectures seem to only have OpenSSL 1.0.2
urllib3 < 2.0; python_version <= '3.7'

0 comments on commit 241205e

Please sign in to comment.