Releases: vizzly-testing/cli
✨ v0.32.0
Local TDD now understands cloud dynamic content
This release tightens up one of the most annoying local visual-testing gaps: pulling a cloud baseline into local TDD should behave like the cloud review path, especially around dynamic content.
Before this, local TDD could download the baseline images but still miss the dynamic-content context the cloud was using. That meant timestamps, generated values, and other already-known noisy regions could show up locally as scary diffs even when the cloud would ignore them. Not great for humans, and especially not great for agents that treat every red diff like a five-alarm fire.
Now, when you pull a baseline from Vizzly, the CLI also brings down the dynamic-content metadata that belongs with it.
What changed
vizzly tdd run --baseline-build ...now saves cloud hotspot and confirmed-region metadata locally alongside the baseline images.- Local comparisons can pass as
region-filteredwhen the changed pixels are inside confirmed dynamic regions. - Local context/report data now carries the dynamic-region details agents need to understand why a diff passed.
- Static report generation works correctly from the packed CLI package.
- Honeydiff was upgraded to the latest released performance build.
Why this matters
If your team has already taught Vizzly which parts of a screenshot are dynamic, local TDD now benefits from that same knowledge. You should see fewer false local failures after pulling a cloud baseline, and agent workflows should stop overreacting to known dynamic content.
Real visual changes still show up. The local filter only passes changes that match the confirmed dynamic-region rules closely enough.
Upgrade
npm install -g @vizzly-testing/cli@0.32.0Full Changelog: v0.31.0...v0.32.0
✨ v0.31.0
What's Changed
- 🐛 Allow publishing current CLI version
- 🐛 Fix CLI release workflow recovery
- 🔖 v0.31.0
- ✨ Polish CLI context release flow (#272)
- ✨ Make CLI context handoff production-ready (#269)
- 🔒 Upgrade + Pin GitHub Actions Workflows (#268)
- ♻️ Split daemon process lifecycle helpers (#267)
- ♻️ Extract TDD runtime context assembly (#266)
- ♻️ Finish CLI audit cleanup stack
- ♻️ Split server baseline routes (#260)
- ✨ Split API review commands (#259)
- ✨ Split init and auth wiring (#258)
- ♻️ Split shared config utilities (#257)
- ✨ Split SDK helper contracts (#256)
- ♻️ Remove Claude integration leftovers (#253)
- ✨ Harden Swift SDK package (#252)
Full Changelog: v0.30.0...v0.31.0
✨ v0.30.0
Vizzly CLI v0.30.0 Release Notes
What's Changed
Added
- CLI Visual Context Workflows: New read-only
vizzly contextcommands for programmatic access to build, comparison, screenshot, similar, and review queue data. Supports both cloud context and local workspace context from.vizzly/, enabling integration with CI/CD pipelines and custom workflows. - JSON Output Reference: Complete documentation of JSON output format for all CLI operations in
docs/json-output.md.
Changed
- Storybook 10 Support: Updated and verified full compatibility with Storybook 10.3.6. The bundled example app now uses Storybook 10, and local TDD metadata is properly sanitized for iframe environments.
- TypeScript 6.0: Upgraded TypeScript from 5.9.3 to 6.0.3.
- Build Tool Alignment: Updated Vite to v8 and plugin-react to v6 for consistency across the reporter UI toolchain.
Fixed
- Stale TDD Image Loads: Fixed an issue where baseline, current, and diff images weren't refreshing properly in the reporter UI. Added cache-busting via query parameters and no-cache response headers to ensure fresh image data.
- Storybook Story URL Capture: Fixed Storybook screenshot metadata to use proper story paths (
?path=/story/...) instead of iframe URLs, ensuring story links render correctly in the Vizzly dashboard. - Storybook CI Preview Uploads: Added preview upload step to Storybook SDK E2E workflow in CI.
Full Changelog: v0.29.6...v0.30.0
✨ v0.29.6
Vizzly CLI v0.29.6
What's Changed
Added
- Full-page screenshot capture is now the default for Static Site and Storybook SDKs. Teams can opt out with
--no-full-pageor by settingscreenshot.fullPage: falsein config if they prefer viewport-only captures.
Fixed
- Fixed build auto-detection for plugin-created builds (e.g.,
vizzly storybook). TestRunner now writes session context (buildId, branch, commit, parallelId) for non-TDD builds, enablingvizzly previewto properly locate and process them.
Breaking Changes
Default screenshot behavior changed to full-page capture in Static Site and Storybook SDKs. If you want to keep capturing viewport-only screenshots, use:
- Config:
screenshot: { fullPage: false } - CLI:
--no-full-page
Full Changelog: v0.29.5...v0.29.6
✨ v0.29.5
Vizzly CLI v0.29.5
What's Changed
Added
- Added explicit CLI opt-out flag
--no-full-pagefor controlling screenshot capture behavior in Static Site and Storybook SDKs
Changed
⚠️ Breaking Change: Static Site and Storybook SDKs now default to full-page screenshots instead of viewport-only. This captures the entire scrollable content by default, which better matches user expectations for static pages and Storybook stories- To restore the previous viewport-only behavior, use
screenshot: { fullPage: false }in your config or the--no-full-pageCLI flag
- To restore the previous viewport-only behavior, use
Fixed
- Fixed
vizzly previewcommand failing to auto-detect builds created by plugin commands (likevizzly storybook). The session breadcrumb is now properly written for non-TDD builds, ensuring build context is preserved
Full Changelog: storybook/v0.7.0...v0.29.5
✨ v0.29.4
Vizzly CLI v0.29.4
What's Changed
Added
- Page URL capture in all JS client SDKs: Screenshots now automatically capture the current page URL as a
urlproperty. This enables backend integration with deploy preview pages. The URL is captured in Static Site, Storybook, Vitest, and Ember SDKs and can be overridden by users if needed.
Fixed
- Fixed double-nested properties in client screenshot payload: The client SDK was incorrectly double-nesting the
propertiesobject when SDKs passed{ properties: { url } }. The payload is now properly flattened so properties reach the server correctly. Also prevents SDK-internal options (fullPage,threshold) from leaking into the properties object. - Fixed local TDD dimension mismatch handling: Local TDD mode was silently auto-overwriting baselines when honeydiff detected a width mismatch. Now dimension mismatches are treated as failed comparisons, allowing teams to review and explicitly accept/reject the changes in the local TDD UI instead of silently overwriting baselines.
- Updated 7 dependencies: Routine dependency updates including dotenv, glob, Biome, TanStack React Query, TypeScript types, Vite React plugin, and rimraf.
Full Changelog: v0.29.3...v0.29.4
📚 Storybook Plugin v0.7.0
[0.7.0] - 2026-02-16
What's Changed
Added
- Page URL is now automatically captured with each screenshot and sent as a property. This enables the Vizzly dashboard to link screenshots to their corresponding Storybook story URLs for easier navigation.
Full Changelog: storybook/v0.6.0...storybook/v0.7.0
✨ v0.29.3
Vizzly CLI v0.29.3
What's Changed
Changed
- Optimized TDD dashboard real-time updates — Reduced performance overhead in the interactive dashboard by consolidating Server-Sent Events (SSE) connections. Previously, multiple components each created their own EventSource connection. Now the dashboard uses a singleton SSE connection managed by a React context provider, significantly improving performance on large test suites.
- Incremental event payloads — The TDD dashboard now sends only changed comparison data instead of re-sending the entire report on every update. For a 139-screenshot suite, this reduces per-event payload from 50-200KB down to 0.5-2KB, resulting in faster updates and less bandwidth consumption.
Full Changelog: storybook/v0.6.0...v0.29.3
📚 Storybook Plugin v0.6.0
[0.6.0] - 2026-02-13
What's Changed
No changes to Storybook plugin in this release.
Full Changelog: storybook/v0.5.0...storybook/v0.6.0
✨ v0.29.2
v0.29.2
What's Changed
Added
--orgflag for disambiguating projects across organizations: Thebuildsandcomparisonscommands now accept an--org <slug>option to filter results by organization. This is useful when multiple projects in different organizations share the same project slug.vizzly builds --project storybook --org my-org vizzly comparisons --name "Button" --project storybook --org my-org
Fixed
- TDD SSE performance: Fixed a critical performance issue where TDD mode was broadcasting unnecessarily large Server-Sent Events (SSE) updates. Heavy comparison data (
diffClusters,intensityStats, etc.) is now split into a separate file and loaded on-demand when the fullscreen viewer opens. This reduces per-update bandwidth by 79% (from 735 KB to 153 KB per update) and cumulative broadcast traffic from ~97 MB to ~20 MB for typical test runs. (#214)
Full Changelog: v0.29.1...v0.29.2