From e583f42e1db26879c0535e2d7d1f677be8503cc3 Mon Sep 17 00:00:00 2001 From: Vytautas Liuolia Date: Sun, 6 Oct 2024 20:03:20 +0200 Subject: [PATCH] chore: remove newsfragments for this release --- docs/_newsfragments/1367.newandimproved.rst | 3 - docs/_newsfragments/1457.breakingchange.rst | 25 -------- docs/_newsfragments/1853.breakingchange.rst | 68 --------------------- docs/_newsfragments/1947.newandimproved.rst | 4 -- docs/_newsfragments/1977.breakingchange.rst | 4 -- docs/_newsfragments/1999.breakingchange.rst | 6 -- docs/_newsfragments/2022.newandimproved.rst | 3 - docs/_newsfragments/2023.newandimproved.rst | 4 -- docs/_newsfragments/2025.newandimproved.rst | 3 - docs/_newsfragments/2044.newandimproved.rst | 4 -- docs/_newsfragments/2047.bugfix.rst | 2 - docs/_newsfragments/2060.newandimproved.rst | 1 - docs/_newsfragments/2063.newandimproved.rst | 7 --- docs/_newsfragments/2066.newandimproved.rst | 4 -- docs/_newsfragments/2090.breakingchange.rst | 4 -- docs/_newsfragments/2108.newandimproved.rst | 4 -- docs/_newsfragments/2110.newandimproved.rst | 6 -- docs/_newsfragments/2124.newandimproved.rst | 3 - docs/_newsfragments/2147.bugfix.rst | 4 -- docs/_newsfragments/2182.breakingchange.rst | 3 - docs/_newsfragments/2213.newandimproved.rst | 6 -- docs/_newsfragments/2253.misc.rst | 3 - docs/_newsfragments/2276.newandimproved.rst | 11 ---- docs/_newsfragments/228.newandimproved.rst | 4 -- docs/_newsfragments/2292.bugfix.rst | 16 ----- docs/_newsfragments/2293.bugfix.rst | 10 --- docs/_newsfragments/2301.misc.rst | 2 - docs/_newsfragments/2314.breakingchange.rst | 5 -- docs/_newsfragments/2325.newandimproved.rst | 4 -- docs/_newsfragments/2343.breakingchange.rst | 8 --- docs/_newsfragments/2349.newandimproved.rst | 3 - docs/_newsfragments/2355.newandimproved.rst | 14 ----- docs/_newsfragments/648.newandimproved.rst | 2 - docs/_newsfragments/864.breakingchange.rst | 36 ----------- 34 files changed, 286 deletions(-) delete mode 100644 docs/_newsfragments/1367.newandimproved.rst delete mode 100644 docs/_newsfragments/1457.breakingchange.rst delete mode 100644 docs/_newsfragments/1853.breakingchange.rst delete mode 100644 docs/_newsfragments/1947.newandimproved.rst delete mode 100644 docs/_newsfragments/1977.breakingchange.rst delete mode 100644 docs/_newsfragments/1999.breakingchange.rst delete mode 100644 docs/_newsfragments/2022.newandimproved.rst delete mode 100644 docs/_newsfragments/2023.newandimproved.rst delete mode 100644 docs/_newsfragments/2025.newandimproved.rst delete mode 100644 docs/_newsfragments/2044.newandimproved.rst delete mode 100644 docs/_newsfragments/2047.bugfix.rst delete mode 100644 docs/_newsfragments/2060.newandimproved.rst delete mode 100644 docs/_newsfragments/2063.newandimproved.rst delete mode 100644 docs/_newsfragments/2066.newandimproved.rst delete mode 100644 docs/_newsfragments/2090.breakingchange.rst delete mode 100644 docs/_newsfragments/2108.newandimproved.rst delete mode 100644 docs/_newsfragments/2110.newandimproved.rst delete mode 100644 docs/_newsfragments/2124.newandimproved.rst delete mode 100644 docs/_newsfragments/2147.bugfix.rst delete mode 100644 docs/_newsfragments/2182.breakingchange.rst delete mode 100644 docs/_newsfragments/2213.newandimproved.rst delete mode 100644 docs/_newsfragments/2253.misc.rst delete mode 100644 docs/_newsfragments/2276.newandimproved.rst delete mode 100644 docs/_newsfragments/228.newandimproved.rst delete mode 100644 docs/_newsfragments/2292.bugfix.rst delete mode 100644 docs/_newsfragments/2293.bugfix.rst delete mode 100644 docs/_newsfragments/2301.misc.rst delete mode 100644 docs/_newsfragments/2314.breakingchange.rst delete mode 100644 docs/_newsfragments/2325.newandimproved.rst delete mode 100644 docs/_newsfragments/2343.breakingchange.rst delete mode 100644 docs/_newsfragments/2349.newandimproved.rst delete mode 100644 docs/_newsfragments/2355.newandimproved.rst delete mode 100644 docs/_newsfragments/648.newandimproved.rst delete mode 100644 docs/_newsfragments/864.breakingchange.rst diff --git a/docs/_newsfragments/1367.newandimproved.rst b/docs/_newsfragments/1367.newandimproved.rst deleted file mode 100644 index e4b4e5c09..000000000 --- a/docs/_newsfragments/1367.newandimproved.rst +++ /dev/null @@ -1,3 +0,0 @@ -The new implementation of :ref:`media type utilities ` -(Falcon was using the ``python-mimeparse`` library before) now always favors -the exact media type match, if one is available. diff --git a/docs/_newsfragments/1457.breakingchange.rst b/docs/_newsfragments/1457.breakingchange.rst deleted file mode 100644 index 5b54a2ad7..000000000 --- a/docs/_newsfragments/1457.breakingchange.rst +++ /dev/null @@ -1,25 +0,0 @@ -A number of undocumented internal helpers were renamed to start with an -underscore, indicating they are private methods intended to be used only by the -framework itself: - -* ``falcon.request_helpers.header_property`` → - ``falcon.request_helpers._header_property`` -* ``falcon.request_helpers.parse_cookie_header`` → - ``falcon.request_helpers._parse_cookie_header`` -* ``falcon.response_helpers.format_content_disposition`` → - ``falcon.response_helpers._format_content_disposition`` -* ``falcon.response_helpers.format_etag_header`` → - ``falcon.response_helpers._format_etag_header`` -* ``falcon.response_helpers.format_header_value_list`` → - ``falcon.response_helpers._format_header_value_list`` -* ``falcon.response_helpers.format_range`` → - ``falcon.response_helpers._format_range`` -* ``falcon.response_helpers.header_property`` → - ``falcon.response_helpers._header_property`` -* ``falcon.response_helpers.is_ascii_encodable`` → - ``falcon.response_helpers._is_ascii_encodable`` - -If you were relying on these internal helpers, you can either copy the -implementation into your codebase, or switch to the underscored variants. -(Needless to say, though, we strongly recommend against referencing private -methods, as we provide no SemVer guarantees for them.) diff --git a/docs/_newsfragments/1853.breakingchange.rst b/docs/_newsfragments/1853.breakingchange.rst deleted file mode 100644 index 045464825..000000000 --- a/docs/_newsfragments/1853.breakingchange.rst +++ /dev/null @@ -1,68 +0,0 @@ -A number of previously deprecated methods, attributes and classes have now been -removed: - -* In Falcon 3.0, the use of positional arguments was deprecated for the - optional initializer parameters of :class:`falcon.HTTPError` and its - subclasses. - - We have now redefined these optional arguments as keyword-only, so passing - them as positional arguments will result in a :class:`TypeError`: - - >>> import falcon - >>> falcon.HTTPForbidden('AccessDenied') - Traceback (most recent call last): - <...> - TypeError: HTTPForbidden.__init__() takes 1 positional argument but 2 were given - >>> falcon.HTTPForbidden('AccessDenied', 'No write access') - Traceback (most recent call last): - <...> - TypeError: HTTPForbidden.__init__() takes 1 positional argument but 3 were given - - Instead, simply pass these parameters as keyword arguments: - - >>> import falcon - >>> falcon.HTTPForbidden(title='AccessDenied') - - >>> falcon.HTTPForbidden(title='AccessDenied', description='No write access') - - -* The ``falcon-print-routes`` command-line utility is no longer supported; - ``falcon-inspect-app`` is a direct replacement. - -* :class:`falcon.stream.BoundedStream` is no longer re-imported via - ``falcon.request_helpers``. - If needed, import it directly as :class:`falcon.stream.BoundedStream`. - -* A deprecated alias of :class:`falcon.stream.BoundedStream`, - ``falcon.stream.Body``, was removed. Use :class:`falcon.stream.BoundedStream` - instead. - -* A deprecated utility function, ``falcon.get_http_status()``, was removed. - Please use :meth:`falcon.code_to_http_status` instead. - -* A deprecated routing utility, ``compile_uri_template()``, was removed. - This function was only employed in the early versions of the framework, and - is expected to have been fully supplanted by the - :class:`~falcon.routing.CompiledRouter`. In a pinch, you can simply copy its - implementation from the Falcon 3.x source tree into your application. - -* The deprecated ``Response.add_link()`` method was removed; please use - :meth:`Response.append_link ` instead. - -* The deprecated ``has_representation()`` method for :class:`~falcon.HTTPError` - was removed, along with the ``NoRepresentation`` and - ``OptionalRepresentation`` classes. - -* An undocumented, deprecated public method ``find_by_media_type()`` of - :class:`media.Handlers ` was removed. - Apart from configuring handlers for Internet media types, the rest of - :class:`~falcon.media.Handlers` is only meant to be used internally by the - framework (unless documented otherwise). - -* Previously, the ``json`` module could be imported via ``falcon.util``. - This deprecated alias was removed; please import ``json`` directly from the - :mod:`standard library `, or another third-party JSON library of - choice. - -We decided, on the other hand, to keep the deprecated :class:`falcon.API` alias -until Falcon 5.0. diff --git a/docs/_newsfragments/1947.newandimproved.rst b/docs/_newsfragments/1947.newandimproved.rst deleted file mode 100644 index b52bbe539..000000000 --- a/docs/_newsfragments/1947.newandimproved.rst +++ /dev/null @@ -1,4 +0,0 @@ -Type annotations have been added to Falcon's public interface to the package -itself in order to better support `Mypy `__ -(or other type checkers) users without having to install any third-party -typeshed packages. diff --git a/docs/_newsfragments/1977.breakingchange.rst b/docs/_newsfragments/1977.breakingchange.rst deleted file mode 100644 index ff6b9c1c3..000000000 --- a/docs/_newsfragments/1977.breakingchange.rst +++ /dev/null @@ -1,4 +0,0 @@ -Previously, it was possible to create an :class:`~falcon.App` with the -``cors_enable`` option, and add additional :class:`~falcon.CORSMiddleware`, -leading to unexpected behavior and dysfunctional CORS. This combination now -explicitly results in a :class:`ValueError`. diff --git a/docs/_newsfragments/1999.breakingchange.rst b/docs/_newsfragments/1999.breakingchange.rst deleted file mode 100644 index 6cac71257..000000000 --- a/docs/_newsfragments/1999.breakingchange.rst +++ /dev/null @@ -1,6 +0,0 @@ -The default value of the ``csv`` parameter in -:func:`~falcon.uri.parse_query_string` was changed to ``False``, matching the -default behavior of other parts of the framework (such as -:attr:`req.params `, the test client, etc). -If the old behavior fits your use case better, pass the ``csv=True`` keyword -argument explicitly. diff --git a/docs/_newsfragments/2022.newandimproved.rst b/docs/_newsfragments/2022.newandimproved.rst deleted file mode 100644 index 889e63621..000000000 --- a/docs/_newsfragments/2022.newandimproved.rst +++ /dev/null @@ -1,3 +0,0 @@ -Similar to the existing :class:`~falcon.routing.IntConverter`, a new -:class:`~falcon.routing.FloatConverter` has been added, allowing to convert -path segments to ``float``. diff --git a/docs/_newsfragments/2023.newandimproved.rst b/docs/_newsfragments/2023.newandimproved.rst deleted file mode 100644 index baa31624d..000000000 --- a/docs/_newsfragments/2023.newandimproved.rst +++ /dev/null @@ -1,4 +0,0 @@ -The default error serializer will now use the response media handlers -to better negotiate the response content type with the client. -The implementation still defaults to JSON if the client does not indicate any -preference. diff --git a/docs/_newsfragments/2025.newandimproved.rst b/docs/_newsfragments/2025.newandimproved.rst deleted file mode 100644 index 530e99f2b..000000000 --- a/docs/_newsfragments/2025.newandimproved.rst +++ /dev/null @@ -1,3 +0,0 @@ -:class:`~falcon.asgi.WebSocket` now supports providing a reason for closing the -socket, either directly via :meth:`~falcon.asgi.WebSocket.close` or by -configuring :attr:`~falcon.asgi.WebSocketOptions.default_close_reasons`. diff --git a/docs/_newsfragments/2044.newandimproved.rst b/docs/_newsfragments/2044.newandimproved.rst deleted file mode 100644 index 1d9284609..000000000 --- a/docs/_newsfragments/2044.newandimproved.rst +++ /dev/null @@ -1,4 +0,0 @@ -An informative representation was added to :class:`testing.Result ` -for easier development and interpretation of failed tests. The form of ``__repr__`` is as follows: -``Result<{status_code} {content-type header} {content}>``, where the content part will reflect -up to 40 bytes of the result's content. diff --git a/docs/_newsfragments/2047.bugfix.rst b/docs/_newsfragments/2047.bugfix.rst deleted file mode 100644 index 9e6671778..000000000 --- a/docs/_newsfragments/2047.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -The web servers used for tests are now run through :any:`sys.executable` in -order to ensure that they respect the virtualenv in which tests are being run. diff --git a/docs/_newsfragments/2060.newandimproved.rst b/docs/_newsfragments/2060.newandimproved.rst deleted file mode 100644 index c319833e1..000000000 --- a/docs/_newsfragments/2060.newandimproved.rst +++ /dev/null @@ -1 +0,0 @@ -A new method :meth:`falcon.Request.get_header_as_int` was implemented. diff --git a/docs/_newsfragments/2063.newandimproved.rst b/docs/_newsfragments/2063.newandimproved.rst deleted file mode 100644 index 95dbed088..000000000 --- a/docs/_newsfragments/2063.newandimproved.rst +++ /dev/null @@ -1,7 +0,0 @@ -A new property, :attr:`~falcon.Request.headers_lower`, was added to provide a -unified, self-documenting way to get a copy of all request headers with -lowercase names to facilitate case-insensitive matching. This is especially -useful for middleware components that need to be compatible with both WSGI and -ASGI. :attr:`~falcon.Request.headers_lower` was added in lieu of introducing a -breaking change to the WSGI :attr:`~falcon.Request.headers` property that -returns uppercase header names from the WSGI ``environ`` dictionary. diff --git a/docs/_newsfragments/2066.newandimproved.rst b/docs/_newsfragments/2066.newandimproved.rst deleted file mode 100644 index 8bbee4797..000000000 --- a/docs/_newsfragments/2066.newandimproved.rst +++ /dev/null @@ -1,4 +0,0 @@ -In Python 3.13, the ``cgi`` module is removed entirely from the stdlib, -including its ``parse_header()`` method. Falcon addresses the issue by shipping -an own implementation; :func:`falcon.parse_header` can also be used in your projects -affected by the removal. diff --git a/docs/_newsfragments/2090.breakingchange.rst b/docs/_newsfragments/2090.breakingchange.rst deleted file mode 100644 index 34dbfe9fa..000000000 --- a/docs/_newsfragments/2090.breakingchange.rst +++ /dev/null @@ -1,4 +0,0 @@ -The deprecated ``api_helpers`` was removed in favor of the ``app_helpers`` -module. In addition, the deprecated ``body`` attributes of the -:class:`~falcon.Response`, :class:`asgi.Response `, and -:class:`~falcon.HTTPStatus` classes were removed. diff --git a/docs/_newsfragments/2108.newandimproved.rst b/docs/_newsfragments/2108.newandimproved.rst deleted file mode 100644 index 8baf14b3b..000000000 --- a/docs/_newsfragments/2108.newandimproved.rst +++ /dev/null @@ -1,4 +0,0 @@ -A new ``status_code`` attribute was added to the :attr:`falcon.Response `, -:attr:`falcon.asgi.Response `, -:attr:`HTTPStatus `, -and :attr:`HTTPError ` classes. diff --git a/docs/_newsfragments/2110.newandimproved.rst b/docs/_newsfragments/2110.newandimproved.rst deleted file mode 100644 index a8cc0f8da..000000000 --- a/docs/_newsfragments/2110.newandimproved.rst +++ /dev/null @@ -1,6 +0,0 @@ -Following the recommendation from -`RFC 9239 `__, the -:ref:`MEDIA_JS ` constant has been updated to -``text/javascript``. Furthermore, this and other media type constants are now -preferred to the stdlib's :mod:`mimetypes` for the initialization of -:attr:`~falcon.ResponseOptions.static_media_types`. diff --git a/docs/_newsfragments/2124.newandimproved.rst b/docs/_newsfragments/2124.newandimproved.rst deleted file mode 100644 index d83c19c02..000000000 --- a/docs/_newsfragments/2124.newandimproved.rst +++ /dev/null @@ -1,3 +0,0 @@ -A new keyword argument, `samesite`, was added to -:meth:`~falcon.Response.unset_cookie` that allows to override the default -``Lax`` setting of `SameSite` on the unset cookie. diff --git a/docs/_newsfragments/2147.bugfix.rst b/docs/_newsfragments/2147.bugfix.rst deleted file mode 100644 index f99537446..000000000 --- a/docs/_newsfragments/2147.bugfix.rst +++ /dev/null @@ -1,4 +0,0 @@ -Previously, importing :class:`~falcon.testing.TestCase` as a top-level -attribute in a test module could make ``pytest`` erroneously attempt to collect -its methods as test cases. This has now been prevented by adding a ``__test__`` -attribute (set to ``False``) to the :class:`~falcon.testing.TestCase` class. diff --git a/docs/_newsfragments/2182.breakingchange.rst b/docs/_newsfragments/2182.breakingchange.rst deleted file mode 100644 index 14853175b..000000000 --- a/docs/_newsfragments/2182.breakingchange.rst +++ /dev/null @@ -1,3 +0,0 @@ -The function :func:`falcon.http_date_to_dt` now validates HTTP dates to have -the correct timezone set. It now also returns timezone-aware -:class:`~datetime.datetime` objects. diff --git a/docs/_newsfragments/2213.newandimproved.rst b/docs/_newsfragments/2213.newandimproved.rst deleted file mode 100644 index de889090b..000000000 --- a/docs/_newsfragments/2213.newandimproved.rst +++ /dev/null @@ -1,6 +0,0 @@ -A new keyword argument, `partitioned`, was added to -:meth:`~falcon.Response.set_cookie` to opt a cookie into partitioned storage, -with a separate cookie jar per each top-level site. -(See also -`CHIPS `__ -for a more detailed description of this web technology.) diff --git a/docs/_newsfragments/2253.misc.rst b/docs/_newsfragments/2253.misc.rst deleted file mode 100644 index 178cc5494..000000000 --- a/docs/_newsfragments/2253.misc.rst +++ /dev/null @@ -1,3 +0,0 @@ -The :ref:`utility functions ` ``create_task()`` and -``get_running_loop()`` are now deprecated in favor of their standard library -counterparts, :func:`asyncio.create_task` and :func:`asyncio.get_running_loop`. diff --git a/docs/_newsfragments/2276.newandimproved.rst b/docs/_newsfragments/2276.newandimproved.rst deleted file mode 100644 index f8dea9c91..000000000 --- a/docs/_newsfragments/2276.newandimproved.rst +++ /dev/null @@ -1,11 +0,0 @@ -The class ``falcon.HTTPPayloadTooLarge`` was renamed to -:class:`falcon.HTTPContentTooLarge`, together with the accompanying HTTP -:ref:`status code ` update, in order to reflect the newest HTTP -semantics as per -`RFC 9110, Section 15.5.14 `__. -(The old class name remains available as a deprecated compatibility alias.) - -In addition, one new :ref:`status code constant ` was added: -``falcon.HTTP_421`` (also available as ``falcon.HTTP_MISDIRECTED_REQUEST``) -in accordance with -`RFC 9110, Section 15.5.20 `__. diff --git a/docs/_newsfragments/228.newandimproved.rst b/docs/_newsfragments/228.newandimproved.rst deleted file mode 100644 index e76561191..000000000 --- a/docs/_newsfragments/228.newandimproved.rst +++ /dev/null @@ -1,4 +0,0 @@ -A new keyword argument, `link_extension`, was added to -:meth:`falcon.Response.append_link` as specified in -`RFC 8288, Section 3.4.2 -`__. diff --git a/docs/_newsfragments/2292.bugfix.rst b/docs/_newsfragments/2292.bugfix.rst deleted file mode 100644 index 9d7a0d4a2..000000000 --- a/docs/_newsfragments/2292.bugfix.rst +++ /dev/null @@ -1,16 +0,0 @@ -Falcon will now raise an instance of -:class:`~falcon.errors.WebSocketDisconnected` from the :class:`OSError` that -the ASGI server signals in the case of a disconnected client (as per -the `ASGI HTTP & WebSocket protocol -`__ version ``2.4``). -It is worth noting though that Falcon's -:ref:`built-in receive buffer ` normally detects the -``websocket.disconnect`` event itself prior the potentially failing attempt to -``send()``. - -Disabling this built-in receive buffer (by setting -:attr:`~falcon.asgi.WebSocketOptions.max_receive_queue` to ``0``) was also -found to interfere with receiving ASGI WebSocket messages in an unexpected -way. The issue has been fixed so that setting this option to ``0`` now properly -bypasses the buffer altogether, and extensive test coverage has been added for -validating this scenario. diff --git a/docs/_newsfragments/2293.bugfix.rst b/docs/_newsfragments/2293.bugfix.rst deleted file mode 100644 index de4c6ba44..000000000 --- a/docs/_newsfragments/2293.bugfix.rst +++ /dev/null @@ -1,10 +0,0 @@ -Customizing -:attr:`MultipartParseOptions.media_handlers -` could previously -lead to unintentionally modifying a shared class variable. -This has been fixed, and the -:attr:`~falcon.media.multipart.MultipartParseOptions.media_handlers` attribute -is now initialized to a fresh copy of handlers for every instance of -:class:`~falcon.media.multipart.MultipartParseOptions`. To that end, a proper -:meth:`~falcon.media.Handlers.copy` method has been implemented for the media -:class:`~falcon.media.Handlers` class. diff --git a/docs/_newsfragments/2301.misc.rst b/docs/_newsfragments/2301.misc.rst deleted file mode 100644 index 8186a207e..000000000 --- a/docs/_newsfragments/2301.misc.rst +++ /dev/null @@ -1,2 +0,0 @@ -The :class:`falcon.TimezoneGMT` class was deprecated. Use the UTC timezone -(:attr:`datetime.timezone.utc`) from the standard library instead. diff --git a/docs/_newsfragments/2314.breakingchange.rst b/docs/_newsfragments/2314.breakingchange.rst deleted file mode 100644 index a1783ef02..000000000 --- a/docs/_newsfragments/2314.breakingchange.rst +++ /dev/null @@ -1,5 +0,0 @@ -``setup.cfg`` was dropped in favor of consolidating all static project -configuration in ``pyproject.toml`` (``setup.py`` is still needed for -programmatic control of the build process). While this change should not impact -the framework's end-users directly, some ``setuptools``\-based legacy workflows -(such as the obsolete ``setup.py test``) will no longer work. diff --git a/docs/_newsfragments/2325.newandimproved.rst b/docs/_newsfragments/2325.newandimproved.rst deleted file mode 100644 index 7515e79e1..000000000 --- a/docs/_newsfragments/2325.newandimproved.rst +++ /dev/null @@ -1,4 +0,0 @@ -The :class:`~falcon.CORSMiddleware` now properly handles the missing ``Allow`` -header case, by denying the preflight CORS request. -The static file route has been updated to properly support CORS preflight, -by allowing ``GET`` requests. diff --git a/docs/_newsfragments/2343.breakingchange.rst b/docs/_newsfragments/2343.breakingchange.rst deleted file mode 100644 index 4e6fa7fb9..000000000 --- a/docs/_newsfragments/2343.breakingchange.rst +++ /dev/null @@ -1,8 +0,0 @@ -The ``is_async`` keyword argument was removed from -:meth:`~falcon.media.validators.jsonschema.validate`, as well as the hooks -:meth:`~falcon.before` and :meth:`~falcon.after`, since it represented a niche -use case that is even less relevant with the recent advances in the ecosystem: -Cython 3.0+ will now correctly mark cythonized ``async def`` functions as -coroutines, and pure-Python factory functions that return a coroutine can now -be marked as such using :func:`inspect.markcoroutinefunction` -(Python 3.12+ is required). diff --git a/docs/_newsfragments/2349.newandimproved.rst b/docs/_newsfragments/2349.newandimproved.rst deleted file mode 100644 index a5d143f7d..000000000 --- a/docs/_newsfragments/2349.newandimproved.rst +++ /dev/null @@ -1,3 +0,0 @@ -Added :attr:`falcon.testing.Result.content_type` and -:attr:`falcon.testing.StreamedResult.content_type` as a utility accessor -for the ``Content-Type`` header. diff --git a/docs/_newsfragments/2355.newandimproved.rst b/docs/_newsfragments/2355.newandimproved.rst deleted file mode 100644 index c708de094..000000000 --- a/docs/_newsfragments/2355.newandimproved.rst +++ /dev/null @@ -1,14 +0,0 @@ -A new flag, :attr:`~falcon.ResponseOptions.xml_error_serialization`, has been -added to :attr:`~falcon.ResponseOptions` that can be used to disable automatic -XML serialization of :class:`~falcon.HTTPError` when using the default error -serializer (and the client prefers it). - -This new flag currently defaults to ``True``, preserving the same behavior as -the previous Falcon versions. Falcon 5.0 will either change the default to -``False``, or remove the automatic XML error serialization altogether. -If you wish to retain support for XML serialization in the default error -serializer, you should add a -:ref:`response media handler for XML `. - -In accordance with this change, the :meth:`falcon.HTTPError.to_xml` method was -deprecated. diff --git a/docs/_newsfragments/648.newandimproved.rst b/docs/_newsfragments/648.newandimproved.rst deleted file mode 100644 index 11aac79ae..000000000 --- a/docs/_newsfragments/648.newandimproved.rst +++ /dev/null @@ -1,2 +0,0 @@ -A new ``path`` :class:`converter ` -capable of matching segments that include ``/`` was added. diff --git a/docs/_newsfragments/864.breakingchange.rst b/docs/_newsfragments/864.breakingchange.rst deleted file mode 100644 index 0c518bc1c..000000000 --- a/docs/_newsfragments/864.breakingchange.rst +++ /dev/null @@ -1,36 +0,0 @@ -Falcon is no longer vendoring the -`python-mimeparse `__ library; -the relevant functionality has instead been reimplemented in the framework -itself, fixing a handful of long-standing bugs in the new implementation. - -If you use standalone -`python-mimeparse `__ in your -project, do not worry! We will continue to maintain it as a separate package -under the Falconry umbrella (we took over about 3 years ago). - -The following new behaviors are considered breaking changes: - -* Previously, the iterable passed to - :meth:`req.client_prefers ` had to be sorted in - the order of increasing desirability. - :func:`~falcon.mediatypes.best_match`, and by proxy - :meth:`~falcon.Request.client_prefers`, now consider the provided media types - to be sorted in the (more intuitive, we hope) order of decreasing - desirability. - -* Unlike ``python-mimeparse``, the new - :ref:`media type utilities ` consider media types with - different values for the same parameters as non-matching. - - One theoretically possible scenario where this change can affect you is only - installing a :ref:`media ` handler for a content type with parameters; - it then may not match media types with conflicting values (that used to match - before Falcon 4.0). - If this turns out to be the case, also - :ref:`install the same handler ` for the generic - ``type/subtype`` without parameters. - -The new functions, -:func:`falcon.mediatypes.quality` and :func:`falcon.mediatypes.best_match`, -otherwise have the same signature as the corresponding methods from -``python-mimeparse``.