v0.3.14
What's Changed
Added
iframe.cssnow accepts a single string or a list of stylesheet URLs (previously string-only), unified with the existingiframe.fontshandling — which now also accepts a string or a list. Normalisation lives inRenderer::render()(Renderer::normaliseStylesheets()), so the template always receives a list and just loops; empty / non-string entries are dropped, order preserved. Lets consumers load several sheets into the iframe (e.g. a Tailwind bundle + a legacy stylesheet during a migration) without abusingfonts[]. Backward compatible:css: <string>andfonts: [<list>]keep working unchanged. Resolves #28.- HTTP + browser e2e smoke suite (
tests/e2e/) running against the package's own fixture (tests/fixtures/): aphp -Sserver with Layer A (curl HTTP smoke, in CI) and Layer B (agent-browser SPA smoke, local-only). Moves styleguide-behaviour coverage into the package — a behaviour change is now caught here instead of silently breaking every downstream consumer's e2e on a version bump (the back-bar visibility check, for one, read the wrong property and only passed by luck on older versions). Dev-only; no consumer impact.
Pull Requests
- #25 — Add e2e smoke harness (HTTP + browser) against the package's own fixture
- #26 — ci: bump actions/checkout to v5 (Node 20 → 24)
- #27 — qa: raise PHPStan to level 8 (findings fixed, no baseline)
- #29 — iframe.css and iframe.fonts: accept either a string or an array
Full Changelog: v0.3.13...v0.3.14