Skip to content

Releases: pelme/htpy

25.12.0

01 Dec 20:34

Choose a tag to compare

Async rendering

htpy now supports rendering content fully asynchronous. You may use htpy with ASGI framework such as Starlette, FastAPI or Async Django to get a fully async request/response cycle.

See the async docs for more information.

Starlette response helper

To make it easy to leverage the async capabilities from Starlette, a htpy.starlette.HtpyResponse helper class is now available.

See the Starlette docs for more information.


Full Changelog: 25.10.0...25.12.0

25.10.0

07 Oct 13:55
54fc390

Choose a tag to compare

What's Changed

  • Raise error for invalid whitespace in class shorthand. This prevents a pitfall where specifying classes without the leading dot like div(".foo bar"). The expected syntax is div(".foo.bar"). To avoid confusion, this will now raise a ValueError. Thanks to @StabbarN for the fix (PR #153).

Full Changelog: 25.8.1...25.10.0

25.8.1

15 Aug 11:33
66bd301

Choose a tag to compare

What's Changed

  • feat: wrap _WithChildrenUnbound into function for better types by @dakixr in #148

Full Changelog: 25.8.0...25.8.1

25.8.0

05 Aug 12:22
0b3ce2a

Choose a tag to compare

What's Changed

This release updates the list of HTML elements to match the current standard. This should provide accurate auto complete and types for builtin elements. It also adds documentation on how to use htpy and Tailwind in VS Code.

PR:s

  • Add Tailwind IntelliSense configuration for VS Code by @dakixr in #147
  • Update standard HTML elements. by @pelme in #149

New Contributors

Full Changelog: 25.7.0...25.8.0

25.7.0

02 Jul 11:16
a7d4dd0

Choose a tag to compare

What's Changed

This release raises an exception when rendering a generator more than once. This prevents accidentally using an exhausted generator that would previously cause invalid/unexpected results.

  • Raise exception when rendering a generator twice (#102) by @pelme in #142

Full Changelog: 25.6.2...25.7.0

25.6.2

01 Jun 08:56

Choose a tag to compare

What's Changed

This release does not add any new functionality and no breakages is expected. The test/release/workflows are more automated and should make future releases less likely of breakages.

Extra big thank you to @jodal who made this happen!

Merged Pull Requests:

  • Fix typo in file name by @jodal in #127
  • Update examples to return Renderable from custom components by @jodal in #128
  • Fix inconsistent imports of markupsafe by @jodal in #131
  • Fix typos in docs by @dunderrrrrr in #133
  • Build with VCS-based versioning by @jodal in #130
  • Setup tox to run checks locally and in CI by @jodal in #132
  • Fix .gitignore pattern for .egg-info files. by @pelme in #134
  • Switch to src-layout. by @pelme in #135
  • Drop the in-repo changelog, redirect to github releases. by @pelme in #136
  • Add release workflow by @jodal in #129

Full Changelog: 25.5.1...25.6.0

25.5.1

30 May 07:03

Choose a tag to compare

25.5.0

25 May 11:52

Choose a tag to compare

25.5.0 - 2025-05-25

25.4.2

16 Apr 17:47

Choose a tag to compare

  • Fix import of @deprecated() annotation on Python >= 3.13. It is part of the warnings module, not the typing module. Fixes [issue #106]. [PR #107]

25.4.1

12 Apr 08:52

Choose a tag to compare