Accepting request 1314011 from home:glaubitz:branches:devel:languages:python

- Update to 4.1.0
  * CPython 3.14 is now fully supported. (#2413)
  * Although the Falcon 4.x series is only guaranteed to support Python 3.10+,
    this release still supports 3.8 & 3.9 at runtime using the pure Python wheel.
  * Falcon 4.2 is expected to drop the end-of-life Python 3.8 completely (but
    runtime support will continue for 3.9 on a best effort basis).
  * StaticRoute now renders Etag headers. It also checks If-None-Match in requests
    and returns HTTP 304 response if appropriate. (#2243)
  * StaticRoute now sets the Last-Modified header when serving static files. The
    improved implementation also checks the value of the If-Modified-Since header,
    and renders an HTTP 304 response when the requested file has not been modified. (#2244)
  * Similar to create_environ(), the create_scope() testing helper now preserves the
    raw URI path, and propagates it to the created ASGI connection scope as the
    raw_path byte string (according to the ASGI specification). (#2262)
  * Two new media_type constants, falcon.MEDIA_CSV and falcon.MEDIA_PARQUET, were
    added in order to provide better support for Python data analysis applications
    out of the box. (#2335)
  * Support for allowing cross-origin private network access was added to the built-in
    CORSMiddleware. The new feature is off by default, and can be enabled by passing
    the keyword argument allow_private_network=True to CORSMiddleware during
    initialization. (#2381)
  * The falcon.secure_filename() utility function can now ensure that the length of the
    sanitized filename does not exceed the requested limit (passed via the max_length
    argument). In addition, a new option, max_secure_filename_length, was added to
    MultipartParseOptions in order to automatically populate this argument when
    referencing a body part’s secure_filename. (#2420)
  * The unset_cookie() method now accepts a same_site parameter (with underscore) for
    consistency with set_cookie(). The previous samesite parameter (without underscore)
    is now deprecated (referencing it will emit a deprecation warning). (#2453)
  * A new method, __rich__, has been added to falcon.testing.Result for facilitating

OBS-URL: https://build.opensuse.org/request/show/1314011
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-falcon?expand=0&rev=70
This commit is contained in:
2025-10-28 16:25:43 +00:00
committed by Git OBS Bridge
parent 7d6de4d27d
commit ffd9bee73c
5 changed files with 61 additions and 222 deletions

View File

@@ -1,3 +1,60 @@
-------------------------------------------------------------------
Tue Oct 28 09:03:20 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 4.1.0
* CPython 3.14 is now fully supported. (#2413)
* Although the Falcon 4.x series is only guaranteed to support Python 3.10+,
this release still supports 3.8 & 3.9 at runtime using the pure Python wheel.
* Falcon 4.2 is expected to drop the end-of-life Python 3.8 completely (but
runtime support will continue for 3.9 on a best effort basis).
* StaticRoute now renders Etag headers. It also checks If-None-Match in requests
and returns HTTP 304 response if appropriate. (#2243)
* StaticRoute now sets the Last-Modified header when serving static files. The
improved implementation also checks the value of the If-Modified-Since header,
and renders an HTTP 304 response when the requested file has not been modified. (#2244)
* Similar to create_environ(), the create_scope() testing helper now preserves the
raw URI path, and propagates it to the created ASGI connection scope as the
raw_path byte string (according to the ASGI specification). (#2262)
* Two new media_type constants, falcon.MEDIA_CSV and falcon.MEDIA_PARQUET, were
added in order to provide better support for Python data analysis applications
out of the box. (#2335)
* Support for allowing cross-origin private network access was added to the built-in
CORSMiddleware. The new feature is off by default, and can be enabled by passing
the keyword argument allow_private_network=True to CORSMiddleware during
initialization. (#2381)
* The falcon.secure_filename() utility function can now ensure that the length of the
sanitized filename does not exceed the requested limit (passed via the max_length
argument). In addition, a new option, max_secure_filename_length, was added to
MultipartParseOptions in order to automatically populate this argument when
referencing a body parts secure_filename. (#2420)
* The unset_cookie() method now accepts a same_site parameter (with underscore) for
consistency with set_cookie(). The previous samesite parameter (without underscore)
is now deprecated (referencing it will emit a deprecation warning). (#2453)
* A new method, __rich__, has been added to falcon.testing.Result for facilitating
a rich-text representation when used together with the popular rich library.
* The cythonization process was revised in the light of the performance improvements
in newer CPython versions (especially 3.12+), and the compilation is now largely
confined to hand-crafted C/Cython code. As a result, the framework should run even
faster on modern CPython. (#2470)
* JSONHandler can now detect a non-standard (not a subclass of ValueError) deserialization
error type for a custom loads function.
(Normally, json.loads() and third party alternatives do raise a subclass of ValueError
on invalid input data, however, this is not the case for, e.g., the popular msgspec
library at the time of writing.) (#2476)
* Previously, Falcons WebSocket implementation was not documented to route the request
to any sink. However, in the case of a missing route, a matching sink was actually
invoked, passing ws in place of the incompatible resp.
This mismatch has been addressed by introducing a ws keyword argument (similar to
ASGI error handlers) for sink functions meant to accept WebSocket connections.
For backwards-compatibility, when ws is absent from the sinks signature, the WebSocket
object is still passed in place of the incompatible resp. This behavior will change in
Falcon 5.0: when draining a WebSocket connection, resp will always be set to None. (#2414)
* The readability of the Contributing docs was improved by properly rendering GitHub
Markdown-flavored checkboxes. (#2318)
* The falcon.testing.httpnow compatibility alias is now considered deprecated, and will
be removed in Falcon 5.0. Use the falcon.http_now() function instead. (#2389)
- Drop websockets.patch, merged upstream
-------------------------------------------------------------------
Tue Aug 19 12:18:37 UTC 2025 - Markéta Machová <mmachova@suse.com>