Skip to content

v2.0.0

Compare
Choose a tag to compare
@volfpeter volfpeter released this 23 Sep 09:32
· 39 commits to main since this release
7e9e6e5

What's Changed

Features:

  • Both the core (hx() and page()) decorators and the Jinja integration got support for error rendering. Fixes #28, by @volfpeter
  • Response status code and background job are preserved (if set on the Response dependency for example in a route). Fixes #26 #27, by @volfpeter
  • Added a JinjaPath utility, see docs for details, by @volfpeter
  • Added the Jinja.no_data property, by @volfpeter
  • The RequestComponentSelector protocol and the ComponentSelector type are generic now to allow more flexible integrations, by @volfpeter
  • RequestComponentSelector.get_component_id() was renamed to RequestComponentSelector.get_component() as a consequence of the above change, by @volfpeter
  • More documentation, by @volfpeter
  • Added migration guide by @volfpeter

Full Changelog: v1.1.1...v2.0.0

Migration summary (from v1)

  • If you have custom RequestComponentSelector implementations:
    • Rename get_component_id() methods to get_component() and add the new error: Exception | None argument to the methods.
    • Well-behaved RequestComponentSelectors that dont's support error rendering should reraise the received error if it's not None (although not doing so will not break anything as result and errors are clearly separated in Jinja and the core decorators don't rely on this protocol).
  • If you've overridden any of the protected methods of Jinja, please go through this PR so you can upgrade your custom implementation.
  • If you've written a custom integration, just add the required generic type to ComponentSelector type hints.