Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Changelog
All notable changes to Enguia will be documented here.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.2.0] — 2026-04-10
### Added
- `enguia:play` DOM event support in `EnguiaHook` — dispatch `new CustomEvent("enguia:play")` on any element with the hook to programmatically replay its animation from outside LiveView
## [0.1.0] — 2026-04-10
### Added
- `Enguia.Animation` struct with fields: `keyframes`, `duration`, `easing`, `delay`, `fill`, `trigger`, `repeat`
- `Enguia.Animation.to_json/1` and `to_json!/1` for JSON serialization
- `Enguia.Presets` with 11 built-in animations: `fade_in`, `fade_out`, `slide_up`, `slide_down`, `slide_left`, `slide_right`, `scale_in`, `scale_out`, `shake`, `pulse`, `bounce`
- `Enguia.Components` with `<.motion>` Phoenix component
- `use Enguia` macro that imports `Components` and `Presets`
- `EnguiaHook` JavaScript hook (`priv/static/enguia.js`) with support for `mount`, `visible`, `hover`, and `click` triggers
- IntersectionObserver support for scroll-triggered animations
- Clean import via `import EnguiaHook from "enguia"` — no need to reference the dep path directly
- Animation smoothness fixes: eliminates flash-before-animate and end-of-animation jank using `commitStyles()` + GPU layer pre-promotion via `will-change`