v0.0.4 (Apr 20, 2026)
Added
assert_page/3— optional keyword list of expected params to assert against after navigation.
Changed
mount/2redesigned around~HOLOtemplates. Props, cid, and slot content are declared in markup; context is the only argument tomount. Accepts a single{Namespace, key: value}tuple or a list of tuples for multiple namespaces.visit/2now takes a keyword list instead of a map.
v0.0.3 (Apr 18, 2026)
Added
:atoption forassert_hasandrefute_has— match by 1-based position among all elements matching the selector.- Option validation — all functions that accept options now raise
ArgumentErrorfor unknown keys (viaKeyword.validate!/2). open_browser/1wraps mounted components in a bare HTML layout with your app's stylesheets.
v0.0.2 (Apr 18, 2026)
Added
mount/4— mount a component in isolation for testing, without a page or layout. Accepts:propsand:contextoptions; context values populatefrom_contextprops.reload/1— revisit the current page with the current params, resetting all client-side state.within_section/4— accepts an optional CSS selector argument to scope to elements other than<section>(e.g.div[role=article]).- Target support — event attributes with
target: "cid"now dispatch actions and commands to stateful child components identified by theircid.
Changed
fill_in,choose,check,uncheck,select, andselect_textnow raise when the matched input is hidden (hiddenattribute ortype="hidden"), disabled, or readonly.
v0.0.1 (Apr 18, 2026)
Initial release.