Unreleased
0.3.0 (2026-07-26)
- Harden attribute output against javascript URLs, unsafe names, and nested data attributes
- Validate dynamic HTML and SVG tag names at render time
- Align
plain/rawSafeObject rules with Phlex Ruby; addunsafe_raw/2 - Implement process-local
cache/3andlow_level_cache/3 - Add nested
render/2with shared state andbefore_template/around_template/after_template/render?hooks - Record fragment byte offsets during cache capture and replay selective fragments by offset
- Add
Phlex.CSVwith requiredescape_csv_injection?/0configuration - Add
Phlex.Kitwith explicitkit_component/1registration for nested helpers - Sync
Phlex.version/0and README dep pin with package0.3.0
0.2.0
- Update optional Phoenix dependencies to the latest supported versions
- Refresh development and test tooling dependencies
- Silence non-error logging during tests by default
- Update Phoenix demo dependencies and code reloader listener
0.1.0
- Initial public release of
phlex.ex - Component-based architecture for building HTML, SVG, and other markup views in Elixir
- Core modules:
Phlex,Phlex.SGML,Phlex.HTML,Phlex.SVG - Explicit state passing for functional programming style with clear data flow
- Phoenix and Phoenix LiveView integration via
Phlex.Phoenix - StyleCapsule integration helper via
Phlex.StyleCapsule - Attribute caching with FIFO cache store for improved performance
- Fragment support for selective rendering and conditional content
- Safe content handling with
SafeValueandSafeObjectprotocol - Comprehensive HTML element support (standard elements, void elements, SVG elements)
- Block support with content yielding
- Helper functions for common HTML patterns
- Comprehensive test suite with 279 tests
- Quality assurance: Credo, Dialyzer, ExCoveralls
- Example applications: Phoenix demo and standalone examples
- Elixir >= 1.18 requirement