Skip to content

0.4.0

Latest

Choose a tag to compare

@LordSimal LordSimal released this 12 Sep 05:25

This release makes custom-element rendering more reliable, especially for nesting, attribute parsing, caching, and applications that use multiple TagEngine instances.

Fixed

  • Correctly render nested custom elements, including nested occurrences of the same tag.
  • Support standard unquoted attribute values such as test=value.
  • Preserve empty attribute values such as test="".
  • Allow attributes to hydrate nullable public properties on custom-tag classes.
  • Prevent tag registrations from one TagEngine instance overwriting another engine’s registrations.
  • Fix default TagEngine construction so it no longer emits a warning when no tag directories are configured.
  • Version cache entries based on the component source and write cache files atomically, preventing stale output after component changes and partial cache reads.

Changed

  • Static-analysis tools are now normal development dependencies; composer stan works after a standard Composer install.
  • CI now uses the declared Composer dependencies directly and validates PHP 8.1 through PHP 8.5.

Upgrade notes

No API migration is required.

If component caching is enabled, old cache files can be safely deleted after upgrading because the cache-key format has changed.

Nested components that previously remained unrendered or produced malformed output will now render correctly. If any templates depended on that legacy behavior, review their rendered output after upgrading.

What's Changed

Full Changelog: 0.3.0...0.4.0