v2.18.0
zumerlab/snapdomv2.18.0Jul 21, 2026by tinchox5
AI Summary
A significant update focusing on cross-browser support, fidelity fixes, and new capabilities like backdrop-filter emulation and region capture.
Key Highlights
- Emulate backdrop-filter at capture time for better visual fidelity.
- New clip option with snapdom.viewport() for region capture and offscreen culling.
- Fixes for shadow fidelity in WebKit's SVG rasterization and rotated-root captures.
- Cross-browser testing infrastructure added for Firefox and WebKit.
- Refactored snapdom.viewport() API to drop legacy spelling in favor of clip: 'viewport'.
Breaking Changes
- Dropped snapdom.viewport() — use clip: 'viewport' instead
New Features
- Emulate backdrop-filter at capture time
- Clip option + snapdom.viewport() for region capture
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