djust 0.3.5

StableReleased
Install
pip install djust==0.3.5

djust 0.3.5 was stabilized through 2 pre-releases, and most of its changes are recorded under them: 0.3.5rc1, 0.3.5rc2.

Added

  • djust-deploy CLI — new python/djust/deploy_cli.py module providing deployment commands for djustlive.com. Install with pip install djust[deploy]. Available via the djust-deploy entry point:

    • djust-deploy login — prompts for email/password, authenticates against djustlive.com, and stores the token in ~/.djustlive/credentials (mode 0o600)
    • djust-deploy logout — calls the server logout endpoint and removes the local credentials file
    • djust-deploy status [project] — fetches current deployment state; optionally filtered by project slug
    • djust-deploy deploy <project-slug> — validates the git working tree is clean, triggers a production deployment, and streams build logs to stdout

    See docs/website/guides/djust-deploy.md.

Fixed

  • dj-hook elements now initialize after dj-navigate navigationupdateHooks() is called after live_redirect_mount replaces DOM content via WebSocket and SSE mount handlers. Previously, hook lifecycle callbacks (mounted(), destroyed()) were skipped after client-side navigation, leaving hook-dependent elements (e.g., Chart.js canvases) uninitialized. (#408)
  • Event handler exceptions now logged with full traceback in production — Previously, handle_exception() only logged the exception class name (e.g. ValueError) when DEBUG=False, hiding the error message and stack trace. Now logs type, message, and traceback at ERROR level regardless of DEBUG mode. Client responses remain generic in production. (#415)
  • DJE-053 no longer fires as a warning for idempotent event handlers — When an @event_handler runs successfully but produces no DOM changes (e.g. toggle clicked in target state, debounced input with unchanged results, side-effect-only handlers), the empty diff is now silently dropped at DEBUG level rather than logged as a WARNING. This matches Phoenix LiveView behaviour. The WARNING-level DJE-053 is preserved for genuine VDOM failures (patches=None), which fall back to a full HTML update and risk losing event listeners. (#415)

All releases · Atom feed