The NetBSD Project

CVS log for pkgsrc/devel/py-falcon/Makefile

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / devel / py-falcon

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.18: download - view: text, markup, annotated - select for diffs
Sat Apr 12 10:59:18 2025 UTC (10 days, 21 hours ago) by adam
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +3 -2 lines
Fix PLIST after py-setuptools update; bump depends and revision

Revision 1.17: download - view: text, markup, annotated - select for diffs
Mon Dec 9 21:11:43 2024 UTC (4 months, 1 week ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2025Q1-base, pkgsrc-2025Q1, pkgsrc-2024Q4-base, pkgsrc-2024Q4
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +4 -4 lines
py-falcon: update to 4.0.2.

Adds Python 3.13 support.

Changelog for Falcon 4.0.2
==========================

Summary
-------

This is a minor point release to fix some missed re-exports for type checkers.
In addition, we have also included a couple of documentation improvements.

Changelog for Falcon 4.0.1
==========================

Summary
-------

This is a minor point release addressing a Python distribution issue in
Falcon 4.0.0.

Changelog for Falcon 4.0.0
==========================

Summary
-------

We are happy to present Falcon 4.0, a new major version of the framework that
brings a couple of commonly requested features including support for matching
multiple path segments (using :class:`~falcon.routing.PathConverter`), and
a fully typed codebase. (Please read more about typing in the notes below.)

The timeframe for Falcon 4.0 was challenging due to the need to balance our
high standards with the CPython 3.13 timeline. We aimed to deliver the main
development branch in this release, without resorting to another compatibility
micro update (as we did with Falcon 3.1.1-3.1.3). Following community feedback,
we also want to improve our overall release schedule by shipping smaller
increments more often.
To support this goal, we have made several tooling and testing improvements:
the build process for :ref:`binary wheels <binary_wheels>` has been simplified
using `cibuildwheel <https://cibuildwheel.pypa.io/>`__, and our test suite now
only requires ``pytest`` as a hard dependency. Additionally, you can run
``pytest`` against our tests from any directory. We hope that these changes
should also benefit packaging Falcon in Linux distributions.

As with every SemVer major release, we have removed a number of previously
deprecated functions, classes, compatibility shims, as well as made other
potentially breaking changes that we could not risk in a minor version.
If you have been paying attention the deprecation warnings from the 3.x series,
the impact should be minimal, but please do take a look at the list of breaking
changes below.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Tue Nov 26 12:42:22 2024 UTC (4 months, 3 weeks ago) by nia
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +4 -1 lines
py-falcon: Broken with Python 3.13, uses deprecated cgi module

Revision 1.15: download - view: text, markup, annotated - select for diffs
Mon Nov 11 07:28:08 2024 UTC (5 months, 1 week ago) by wiz
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +1 -2 lines
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Oct 14 06:45:38 2024 UTC (6 months, 1 week ago) by wiz
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +1 -3 lines
*: clean-up after python38 removal

Revision 1.13: download - view: text, markup, annotated - select for diffs
Thu Jan 18 18:21:31 2024 UTC (15 months ago) by adam
Branches: MAIN
CVS tags: pkgsrc-2024Q3-base, pkgsrc-2024Q3, pkgsrc-2024Q2-base, pkgsrc-2024Q2, pkgsrc-2024Q1-base, pkgsrc-2024Q1
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +6 -7 lines
py-falcon: updated to 3.1.3

3.1.3

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.


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.
- :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.
- 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``.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Tue Nov 7 22:37:59 2023 UTC (17 months, 2 weeks ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2023Q4-base, pkgsrc-2023Q4
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -2 lines
*: latest py-sphinx only support Python 3.9+

Revision 1.11: download - view: text, markup, annotated - select for diffs
Mon May 8 20:30:55 2023 UTC (23 months, 2 weeks ago) by markd
Branches: MAIN
CVS tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3, pkgsrc-2023Q2-base, pkgsrc-2023Q2
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +3 -3 lines
py-falcon: update to 3.1.1

3.0.0
A major new release that includes ASGI-based asyncio and WebSocket support,
fantastic multipart/form-data parsing, better error handling, enhancements to
existing features, and the usual assortment of bug fixes.
* Python 3.8 and 3.9 are now fully supported.
* Python 3.6+ is only required when using the new ASGI interface. WSGI is still
  supported on Python 3.5+.
* Python 3.5 support is deprecated and may be removed in the next major release.
* Python 3.4 is no longer supported.
* The Falcon 2.x series was the last to support Python language version 2. As a
  result, support for CPython 2.7 and PyPy2.7 was removed in Falcon 3.0.
* The class OptionalRepresentation and the attribute has_representation were
  deprecated. The default error serializer now generates a representation for
  every error type that derives from falcon.HTTPError. In addition, Falcon
  now ensures that any previously set response body is cleared before handling
  any raised exception.
* The class NoRepresentation was deprecated. All subclasses of falcon.HTTPError
  now have a media type representation.

3.0.1
This is a minor point release to take care of a couple of bugs that we did not
catch for 3.0.0.

3.1.0
This release contains several refinements to request validation and error
handling, along with some tweaks to response handling for static and downloadable
files.

Due to popular demand, TestClient and ASGIConductor now expose convenience
shorthand aliases for the simulate_* methods, i.e., simulate_get() is now also
available as get(), etc.

Some important bugs were also fixed to ensure applications properly clean up
response streams and do not hang when reading request bodies that are streamed
using chunked transfer encoding.

This release also adds support for CPython 3.10 and deprecates CPython 3.6.

3.1.1
This is a minor point release addressing a couple of high impact bugs, and
enabling the framework on the recently released CPython 3.11.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun May 1 07:51:48 2022 UTC (2 years, 11 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1, pkgsrc-2022Q4-base, pkgsrc-2022Q4, pkgsrc-2022Q3-base, pkgsrc-2022Q3, pkgsrc-2022Q2-base, pkgsrc-2022Q2
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +4 -3 lines
py-falcon: mark as not for python 2.x

Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Jan 27 10:57:31 2022 UTC (3 years, 2 months ago) by wiz
Branches: MAIN
CVS tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +3 -2 lines
*: switch py-testtools users to versioned_dependencies.mk

Revision 1.8: download - view: text, markup, annotated - select for diffs
Wed Jan 5 15:41:03 2022 UTC (3 years, 3 months ago) by wiz
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +4 -2 lines
python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Tue Jan 4 20:53:03 2022 UTC (3 years, 3 months ago) by wiz
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +2 -1 lines
*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat May 16 17:08:53 2020 UTC (4 years, 11 months ago) by adam
Branches: MAIN
CVS tags: pkgsrc-2021Q4-base, pkgsrc-2021Q4, pkgsrc-2021Q3-base, pkgsrc-2021Q3, pkgsrc-2021Q2-base, pkgsrc-2021Q2, pkgsrc-2021Q1-base, pkgsrc-2021Q1, pkgsrc-2020Q4-base, pkgsrc-2020Q4, pkgsrc-2020Q3-base, pkgsrc-2020Q3, pkgsrc-2020Q2-base, pkgsrc-2020Q2
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +6 -10 lines
py-falcon: updated to 2.0.0

Changelog for Falcon 2.0.0
Summary
Many thanks to all of our awesome contributors (listed down below) who made this release possible!

In 2.0 we added a number of new convenience methods and properties. We also made it a lot cleaner and less error-prone to assign multiple routes to the same resource class via suffixed responders.

Also noteworthy is the significant effort we invested in improving the accuracy, clarity, and breadth of the docs. We hope these changes will help make the framework easier to learn for newcomers.

Middleware methods can now short-circuit request processing, and we improved cookie and ETag handling. Plus, the testing framework received several improvements to make it easier to simulate certain types of requests.

As this is the first major release that we have had in quite a while, we have taken the opportunity to clean up many parts of the framework. Deprecated variables, methods, and classes have been removed, along with all backwards-compatibility shims for old method signatures. We also changed the defaults for a number of request options based on community feedback.

Please carefully review the list of breaking changes below to see what you may need to tweak in your app to make it compatible with this release.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Sun Jan 26 17:31:02 2020 UTC (5 years, 2 months ago) by rillig
Branches: MAIN
CVS tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +2 -2 lines
all: migrate homepages from http to https

pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Thu Feb 22 11:14:19 2018 UTC (7 years, 2 months ago) by adam
Branches: MAIN
CVS tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4, pkgsrc-2019Q3-base, pkgsrc-2019Q3, pkgsrc-2019Q2-base, pkgsrc-2019Q2, pkgsrc-2019Q1-base, pkgsrc-2019Q1, pkgsrc-2018Q4-base, pkgsrc-2018Q4, pkgsrc-2018Q3-base, pkgsrc-2018Q3, pkgsrc-2018Q2-base, pkgsrc-2018Q2, pkgsrc-2018Q1-base, pkgsrc-2018Q1
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +2 -2 lines
py-falcon: updated to 1.4.0

1.4.0:
Changes to Supported Platforms

Python 3 is now supported on PyPy as of PyPy3.5 v5.10.
Support for CPython 3.3 is now deprecated and will be removed in Falcon 2.0.
As with the previous release, Python 2.6 and Jython 2.7 remain deprecated and will no longer be supported in Falcon 2.0.

New & Improved

We added a new method, API.add_static_route(), that makes it easy to serve files from a local directory. This feature provides an alternative to serving files from the web server when you don't have that option, when authorization is required, or for testing purposes.
Arguments can now be passed to hooks.
The default JSON media type handler will now use ujson, if available, to speed up JSON (de)serialization under CPython.
Semantic validation via the format keyword is now enabled for the falcon.media.validators.jsonschema.validate() JSON Schema decorator.
We added a new helper, falcon.Request.get_param_as_uuid(), to the Request class.
We added a new property, downloadable_as, to the Response class for setting the Content-Disposition header.
Falcon now supports WebDAV methods (RFC 3253), such as UPDATE and REPORT.
falcon.routing.create_http_method_map has been refactored into two new methods, falcon.routing.map_http_methods and falcon.routing.set_default_responders, so that custom routers can better pick and choose the functionality they need. The original method is still available for backwards-compatibility, but will be removed in a future release.
We added a new json param to falcon.testing.simulate_request() et al. to automatically serialize the request body from a JSON serializable object or type (for a complete list of serializable types, see json.JSONEncoder).
TestClient's simulate_*() methods now call TestClient.simulate_request to make it easier for subclasses to override TestClient's behavior.
TestClient can now be configured with a default set of headers to send with every request.
testing.Result.json now returns None when the response body is empty, rather than raising an error.
The FAQ has been reorganized and greatly expanded.
We restyled the docs to match https://falconframework.org

Fixed

Forwarded headers containing quoted strings with commas were not being parsed correctly. This has been fixed, and the parser generally made more robust.
falcon.media.JSONHandler was raising an error under Python 2.x when serializing strings containing Unicode code points. This issue has been fixed.
Overriding a resource class and calling its responders via super() did not work when passing URI template params as positional arguments. This has now been fixed.
Python 3.6 was generating warnings for strings containing '\s' within Falcon. These strings have been converted to raw strings to mitigate the warning.
Several syntax errors were found and fixed in the code examples used in the docs.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Fri Dec 22 05:53:05 2017 UTC (7 years, 4 months ago) by adam
Branches: MAIN
CVS tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +6 -9 lines
py-falcon: updated to 1.3.0

Changelog for Falcon 1.3.0

Changes to Supported Platforms
- CPython 3.6 is now fully supported.
- Falcon appears to work well on PyPy3.5, but we are waiting until
  that platform is out of beta before officially supporting it.
- Support for both CPython 2.6 and Jython 2.7 is now deprecated and
  will be discontinued in Falcon 2.0.

New & Improved
- We added built-in resource representation serialization and
  deserialization, including input validation based on JSON Schema.
  (See also: :ref:`Media <media>`)
- URI template field converters are now supported. We expect to expand
  this feature over time. (See also:
  :ref:`Field Converters <routing_field_converters>`)
- A new method, :meth:`~.Request.get_param_as_datetime`, was added to
  :class:`~.Request`.
- A number of attributes were added to :class:`~.Request` to
  make proxy information easier to consume. These include the
  :attr:`~.Request.forwarded`, :attr:`~.Request.forwarded_uri`,
  :attr:`~.Request.forwarded_scheme`, :attr:`~.Request.forwarded_host`,
  and :attr:`~.Request.forwarded_prefix` attributes. The
  :attr:`~.Request.prefix` attribute was also added as part of this
  work.
- A :attr:`~.Request.referer` attribute was added to
  :class:`~.Request`.
- We implemented ``__repr__()`` for :class:`~.Request`,
  :class:`~.Response`, and :class:`~.HTTPError` to aid in
  debugging.
- A number of Internet media type constants were defined to make it
  easier to check and set content type headers. (See also:
  :ref:`Media Type Constants <media_type_constants>`)
- Several new 5xx error classes were implemented. (See also:
  :ref:`Error Handling <errors>`)

Fixed
- If even a single cookie in the request to the server is malformed,
  none of the cookies will be parsed (all-or-nothing). Change the
  parser to simply skip bad cookies (best-effort).
- :class:`~.API` instances are not pickleable. Modify the default router
  to fix this.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Sun May 21 06:54:13 2017 UTC (7 years, 11 months ago) by adam
Branches: MAIN
CVS tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +5 -4 lines
Changelog for Falcon 1.2.0
New & Improved
- A new `default` kwarg was added to :meth:`~falcon.Request.get_header`.
- A :meth:`~falcon.Response.delete_header` method was added to
  :class:`falcon.Response`.
- Several new HTTP status codes and error classes were added, such as
  :class:`falcon.HTTPFailedDependency`.
- If `ujson` is installed it will be used in lieu of `json` to speed up
  error serialization and query string parsing under CPython. PyPy users
  should continue to use `json`.
- The `independent_middleware` kwarg was added to :class:`falcon.API` to
  enable the execution of `process_response()` middleware methods, even
  when `process_request()` raises an error.
- Single-character field names are now allowed in URL templates when
  specifying a route.
- A detailed error message is now returned when an attempt is made to
  add a route that conflicts with one that has already been added.
- The HTTP protocol version can now be specified when simulating
  requests with the testing framework.
- The :class:`falcon.ResponseOptions` class was added, along with a
  `secure_cookies_by_default` option to control the default value of
  the "secure" attribute when setting cookies. This can make testing
  easier by providing a way to toggle whether or not HTTPS is required.
- `port`, `netloc` and `scheme` properties were added to the
  :class:`falcon.Request` class. The `protocol` property is now
  deprecated and will be removed in a future release.
- The `strip_url_path_trailing_slash` was added
  to :class:`falcon.RequestOptions` to control whether or not to retain
  the trailing slash in the URL path, if one is present. When this
  option is enabled (the default), the URL path is normalized by
  stripping the trailing slash character. This lets the application
  define a single route to a resource for a path that may or may not end
  in a forward slash. However, this behavior can be problematic in
  certain cases, such as when working with authentication schemes that
  employ URL-based signatures. Therefore, the
  `strip_url_path_trailing_slash` option was introduced to make this
  behavior configurable.
- Improved the documentation for :class:`falcon.HTTPError`, particularly
  around customizing error serialization.
- Misc. improvements to the look and feel of Falcon's documentation.
- The tutorial in the docs was revamped, and now includes guidance on
  testing Falcon applications.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Apr 25 20:55:35 2017 UTC (7 years, 11 months ago) by fhajny
Branches: MAIN
Import falcon 1.1.0 as devel/py-falcon.

Falcon is a high-performance Python framework for building cloud APIs.
It encourages the REST architectural style, and tries to do as little
as possible while remaining highly effective.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>