All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.3.0] - 2026-09-21

Added

  • dynamic_inline_svg/1: same behaviour and options as inline_svg/1, but without the compile-time values: constraint on :path. Use for interpolated paths where the SVG name is only known at runtime; still raises ArgumentError for unknown names.

[0.2.0] - 2026-09-21

Added

  • Compile-time validation of the :path attribute. Every SVG name is registered as a :values entry on the generated attr :path, so literal paths in HEEx are checked at compile time. Unknown names emit a compiler warning; compile with --warnings-as-errors to make them fatal.

[0.1.0] - 2026-09-20

Added

  • Stencil.Component; use Stencil.Component macro that compiles SVGs from a directory into a Phoenix inline_svg/1 component.
  • :dir option (defaults to "priv/svg").
  • Optional strip_styling behavior to remove class, fill, stroke, stroke-width, and style attributes from the embedded SVG so page CSS can control the visual.
  • data-inline-svg / data-inline-svg-styled marker attributes for CSS targeting.
  • Automatic re-compilation when SVGs are added, removed, or changed.