Skip to content

Releases: volfpeter/fasthx

v0.2403.1

26 Mar 19:56
4d1e77c
Compare
Choose a tag to compare

Changes:

  • Added Response header support to Jinja decorators as well by @volfpeter in #20
  • Examples, docs, and tests for response headers for Jinja by @volfpeter in #20

v0.2403.0

26 Mar 13:45
cd54f96
Compare
Choose a tag to compare

This is most likely the last release before the project goes sem-ver (1.0).

Changes:

v0.2402.2

20 Feb 20:42
f5496a3
Compare
Choose a tag to compare

Changes

  • Added a page() decorator for unconditionally rendering HTML (useful when a route needs to serve HTML for non-HTMX requests).
  • Added a Jinja.page() decorator, the Jinja2 implementation of the generic page() decorator.
  • Sync routes are now executed in a threadpool to avoid blocking the asyncio event loop.
  • Added Jinja.hx() as the primary decorator for HTMX-serving routes for overall consistency in the library. At the same time, Jinja.__call__() and Jinja.template() are now deprecated and will be removed in the future.
  • JinjaContext.unpack_result() can now handle None as well by converting it into an empty Jinja rendering context.
  • Typing improvements.
  • Renamed HTMXRenderer to HTMLRenderer. HTMXRenderer is still importable as a deprecated alias of HTMLRenderer.
  • Updated the existing Jinja example to showcase the updated Jinja class.
  • Added a fully-working (although rather basic) custom rendering example.
  • Updated the documentation.

Internals

A lot of internal code has been moved. If, for some reason you imported something directly from a module instead of the package, you will unfortunately need to update your imports. New package layout:

  • fasthx.core_decorators: the hx() and page() decorators can now be found here.
  • Jinja-related code has been moved from fasthx.main to fasthx.jinja.
  • get_hx_request() and DependsHXRequest are now in fasthx.dependencies.
  • All utility types have been moved from fasthx.main to fasthx.typing.
  • The internal _append_to_signature() method was moved from fasthx.main to fasthx.utils and renamed to append_to_signature. This method is still for internal use only.

v0.2402.1

16 Feb 23:08
f401fbe
Compare
Choose a tag to compare

PyPI upload fix for v0.2402.0

v0.2402.0

16 Feb 22:06
e782d6a
Compare
Choose a tag to compare

Changes:

  • Jinja now supports non-dict route return values by default. The conversion from such values to valid Jinja contexts (dict) is done by JinjaContextFactory methods with default implementations in JinjaContext.
  • It's possible to set the default Jinja context factory through the Jinja.make_context property.
  • It's possible to override the Jinja instance's context factory on a per-route basis using the make_context argument of the decorator.
  • Jinja got a new hook method _make_response() for response customization.
  • Updated the documentation to highlight these features.

v0.2401.3

24 Jan 19:37
18962f5
Compare
Choose a tag to compare

Features:

  • Show the HX-Request header in the OpenAPI docs of decorated routes, see #5
  • Updated custom rendering example.

v0.2401.2

24 Jan 12:06
2003d8c
Compare
Choose a tag to compare

README and documentation fix.

v0.2401.1

24 Jan 10:49
3b95347
Compare
Choose a tag to compare

Fixed readme.

v0.2401.0

24 Jan 10:28
ff85eae
Compare
Choose a tag to compare

First release.