v2.18.0
simstudioai/simv2.18.0Jul 21, 2026by tinchox5
AI Summary
This release introduces new CSS rendering capabilities like backdrop-filter emulation and region capture with offscreen culling, alongside significant fidelity fixes for shadows and SVG rasterization. It also expands cross-browser support for Firefox and WebKit, improving the stability and consistency of the capture engine.
Key Highlights
- New backdrop-filter emulation support for improved visual fidelity.
- Expanded cross-browser support with test runs for Firefox and WebKit.
- Enhanced region capture capabilities via the 'clip' option.
- Multiple fidelity fixes for shadows, SVG rasterization, and rotated captures.
- API refactoring to drop 'snapdom.viewport()' in favor of 'clip: viewport'.
Breaking Changes
- The standalone 'snapdom.viewport()' function was dropped; users should use the 'clip: viewport' option instead.
New Features
- Emulate backdrop-filter at capture time.
- Region capture with offscreen culling via the 'clip' option.
Full Release Notes
## What's Changed ### Lots of changes and improvements in this release: new capabilities, fidelity fixes, and cross-browser support. feat - feat: emulate backdrop-filter at capture time #457 - feat: clip option + snapdom.viewport() — region capture with offscreen culling 328226b fix - fix: shadow fidelity in WebKit's SVG rasterization b7e9af2 - Fix rotated-root captures clipped at edges (d31) 64c5a8f - fix: key the embedded-fonts cache by document identity 05ef9a9 - fix: guard content-sized boxes against sub-pixel width truncation (text re-wrap) 4b92392 - Fix type definitions drift: compress default, quality default, missing options (excludeStyleProps, fontStylesheetDomains, safariWarmupAttempts, debug, filename), toRaw/to on result, LocalFont.stretchPct 7a473c4 - fix: keep root filter blur() and always expand bbox for its bleed 3f6e6e7 - fix: stop compensating the root's stripped translation in the viewBox bbox 3241481 - fix: repair the broken htmlInCanvas re-export in the plugins barrel 1b74a1a - fix: stop stabilizeLayout from leaving a permanent border on the source element cf3da9b - fix: guard the container padding offset against Chromium 140 all:initial expansion 0b24929 other (docs) - FEATURES_CN.md: '按设计跳过' → '有意跳过'. The phrasing fix was independently #453 - docs: refine Chinese documentation dce83ab - docs: add Chinese translation maintenance guide 4e53063 - Update FEATURES_CN.md to change '按设计跳过' to '有意跳过' 56ff167 other (test) - Make the test suite pass on Firefox and WebKit 74de348 - Add cross-browser test runs (BROWSER=firefox|webkit|all) with per-engine visual baselines f2b72d8 - test: wait for KaTeX CDN + fonts in the d454 visual demo 8205e1b other (chore/refactor/merge) - chore: add cross-engine visual report (npm run report:cross) 5b6e8cd - chore: update snapdom plugins version ed984ff - refactor(api): drop snapdom.viewport() — clip: 'viewport' is the one spelling 4a0f301 - Merge pull request #455 from mosuzi/codex/discussion-450-chinese-docs-review 5b0d149 ## New Contributors * @mosuzi made their first contribution in https://github.com/zumerlab/snapdom/pull/455 * @adajoy made their first contribution in https://github.com/zumerlab/snapdom/pull/453 **Full Changelog**: https://github.com/zumerlab/snapdom/compare/v2.16.0...v2.18.0