djust 0.2.0a1

Pre-releaseReleased

This is a pre-release. djust 0.2.0 has shipped since: read the djust 0.2.0 release notes.

Changed

  • BREAKING: Event Binding Syntax - Standardized all event bindings to use dj- prefix instead of @ prefix. This affects all event attributes: @clickdj-click, @inputdj-input, @changedj-change, @submitdj-submit, @blurdj-blur, @focusdj-focus, @keydowndj-keydown, @keyupdj-keyup, @loading.*dj-loading.*. Benefits: namespaced attributes, no conflicts with Vue/Alpine, no CSS selector escaping required. (#68)

  • BREAKING: Component Consolidation - Removed legacy python/djust/component.py. Use djust.Component which now imports from components/base.py. (#89)

  • BREAKING: Method Rename - LiveComponent.get_context()get_context_data() for Django consistency. (#89)

  • BREAKING: Decorator Attributes Removed - Deprecated decorator attributes removed: _is_event_handler, _event_name, _debounce_seconds, _debounce_ms, _throttle_seconds, _throttle_ms. Use _djust_decorators dict instead. (#89)

  • BREAKING: Data Attributes Renamed - Standardized data attribute naming for consistency:

    • dj-liveview-rootdj-root
    • data-live-viewdj-view
    • data-live-lazydj-lazy
    • data-djdata-dj-id (#89)
  • BREAKING: WebSocket Message Types - Renamed message types for consistency:

    • connectedconnect
    • mountedmount
    • hotreload.messagehotreload (#89)

Added

  • LiveComponent Methods - Added missing methods to LiveComponent: _set_parent_callback(), send_parent(), unmount(). (#89)

  • Inline Template Support - LiveComponent now supports inline template attribute for template strings, in addition to template_name for file-based templates. (#89)

    See docs/website/guides/template-cheatsheet.md.

  • Form Components Export - ForeignKeySelect and ManyToManySelect are now exported from djust.components. (#89)

    See docs/website/guides/components.md.

Fixed

  • {% elif %} Tag Support: Template parser now correctly handles {% elif %} conditionals. Previously, elif branches fell through to the unknown tag handler and rendered all branches instead of just the matching one. (#80)

  • Template Include Fallback - Component render() methods now fall back to Django templates when Rust template engine fails (e.g., for {% include %} tags). (#89)

All releases · Atom feed