npm / html2canvas-pro
html2canvas-pro
What changed in html2canvas-pro 1 to 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.
2 breaking13 new APIs and options5 performance17 behavior and defaults59 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli inithtml2canvas-pro 281 changes
Breaking changes 2
Rendering now composites full standard filter chains.
Enhances object-fit calculations, which can affect rendered output.
New APIs and options 11
Adds device-pixel text-clip surfaces with stroke and shadow support.
Adds support for conic gradients.
Adds support for mask-image.
Adds support for repeating radial gradients.
Adds a white-space property descriptor, allowing the property to affect rendering.
Adds a skipCache flag for image descriptors so side effects run on every render and caching behavior is handled properly.
Adds CSS property descriptors and rendering support.
Adds an onError callback to Options and ContextOptions, wired to resource load failures.
Adds an onProgress callback.
Adds support for the mix-blend-mode CSS property when rendering.
Adds support for controlling image smoothing.
Performance 5
Uses native layer filters with a verified SVG fallback.
Adds CSS parse cache LRU eviction and background pattern caching.
Adds an LRU pattern cache for linear-gradient backgrounds.
Defers CSS parsing as part of performance improvements.
Skips pseudo-element getComputedStyle calls for void and replaced elements.
Behavior and default changes 15
Adds support for rendering repeating conic gradients.
Adds support for backdrop-filter.
Adds support for background-clip: text using TextClipRenderer.
Adds support for border-image outset.
Adds support for box-reflect.
Adds support for image-set.
Adds support for text-emphasis.
Enables CORS loading for cross-origin images in the Cache class.
Implements text wrapping for textareas.
Custom element clones now preserve shadow roots and attributes.
Improves node parsing logic, which may affect how content is handled.
Adds support for rendering text with background-clip: text.
Length-percentage handling is enhanced, which may affect how rendered content using these values is handled.
Implements comprehensive drop-shadow parsing in FilterEffect.
Text rendering and parsing now support writing modes.
Fixes and other changes 48
Border rendering is corrected.
Decoration colour rendering is corrected.
The hsl() colour parser is repaired.
The scale-down object-fit rendering is corrected.
Outer SVG transforms are normalized like HTML container transforms.
Rendering fixes radial gradients.
Uses the browser's default accent blue for auto accent-color and input accent rendering.
Appends ::after pseudo content after an element's children.
Scales canvas shadow and filter metrics to device space.
Clamps quote depth when close-quotes are unbalanced.
Corrects rendering of isolated blend groups.
Draws list markers as geometric shapes.
Skips unsupported image functions in list-style-image.
Contains list-style images within the 1em marker box.
Corrects coordinate math when rendering mask, repeating and radial gradients.
Keeps the surface-root overflow clip inside composited surfaces.
Applies -webkit-line-clamp to flow-root containers.
Corrects the coordinate space used for zoom.
Fixes rendering background-clip: text when text has multiple fragments.
Adds support for border-image width.
Corrected box-shadow scaling, clipping, and inset rendering.
Box shadows are preserved through effective canvas transforms.
CSS transforms are kept when getTransform is unavailable.
Box shadows are rasterized within bounded filter surfaces.
CJK text with letter-spacing stays on the alphabetic baseline.
Supported filters and opacity are composited on layer surfaces.
Shadow mask displacement is bounded inside filter surfaces.
Preserves quoted font family names during serialization.
Removes horizontal seams on radial gradients whose vertical radius exceeds the horizontal one.
Prevents SVG offsets from being serialized.
Preserves constrained input text during canvas rendering.
Restores scroll after onclone runs.
Adjusts mask rectangle anchoring to prevent inverted inset box-shadow rendering.
Fieldset bounds are adjusted to center the legend vertically in ElementContainer.
Fieldset border rendering now handles legend bounds.
Adds handling for whitespace-only computed CSS values.
Fixes webfont text baseline shifts that pushed labels out of their box.
Renders drop-shadow() via ctx.shadow instead of stripping it.
Strip drop-shadow() from ctx.filter to avoid canvas taint.
Forward maxCacheSize to Cache so the configured cache limit is applied.
Extends the scroll position fallback to desktop Safari.
Range offsets remain aligned after a transform.
Corrects the order of adoptNode() during document cloning.
Resolves background images using the source document's baseURI.
Fixes the baseline offset for CJK text.
Adds support for the clip-path CSS property with various shape functions.
Fixes letter-spacing rendering.
Replaces transforms with identity values during DOM normalization.
html2canvas-pro 115 changes
New APIs and options 2
Adds iframeContainer; the notes do not specify further details.
Supports calc() in background-position values.
Behavior and default changes 2
Enhances text decoration support.
Adds support for text-overflow: ellipsis.
Fixes and other changes 11
Fixed previews breaking after the first shadow-root.
Fixes lack of support for line-clamp.
Adds support for rotate.
Fixes lack of support for radial gradients.
Fixes rendering text inside an inline-flex container when the text is its only child.
Fixes oklch colors sometimes being downgraded to default black when used with Tailwind.
Fixes incorrect rendering of placeholder padding.
Fixes rendering content inside <slot>.
Fixes text rendering lower than in the browser.
Fixes webkit-text-stroke being offset below when paint-order is stroke fill.
Fixes handling of custom properties in Chrome 138 by ignoring them.