Skip to content

v0.2.0

Choose a tag to compare

@johnrtipton johnrtipton released this 29 Jan 02:28
· 2831 commits to main since this release
8b2a445

Added

  • Template and/or/in Operators - {% if %} conditions now support and, or, and in boolean/membership operators with correct precedence and chaining. (#103)

Fixed

  • Pre-rendered DOM Whitespace Preservation - WebSocket mount no longer replaces innerHTML when content was pre-rendered via HTTP GET. Instead, data-dj-id attributes are stamped onto existing DOM elements, preserving whitespace in code blocks and syntax-highlighted content. (#99)

  • VDOM Keyed Diffing - Unkeyed children in keyed diffing contexts are now matched by relative position among unkeyed siblings, eliminating spurious insert+remove patch pairs when keyed children reorder. (#95, #97)

  • Event Handler Attributes Preserved - dj-* event handler attributes are no longer removed during VDOM patching. (#100)

  • Model List Serialization - Lists of Django Model instances are now properly serialized on GET requests. (#103)

  • Mount URL Path - WebSocket mount requests now use the actual page URL instead of a hardcoded path. (#95)

Changed

  • Dependencies - Upgraded html5ever 0.27→0.36, markup5ever_rcdom 0.3→0.36, vitest 2.x→4.x, actions/download-artifact 4→7. (#101, #102, #43)

Developer Experience

  • VDOM Debug Tracing - debug_vdom Django config is now bridged to Rust VDOM tracing. Mixed keyed/unkeyed children emit developer warnings. (#97)