All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
- add rtl render support (#2653) (6947982)
- add support for
- add support for data-html2canvas-debug property for debugging (#2658) (cd0d725)
- add support for webkit-text-stroke and paint-order (#2591) (522e5aa)
- allow access to reference element in onclone (#2584) (58b4591)
- correctly break graphemes (#2652) (437b367)
- ignore unsupported image functions (#1873) (61f4819)
- support for custom and slot elements (#2581) (acb4cd2)
- use native text segmenter where available (#2782) (6521a48)
- "offsets" text when font is big (fd22a01)
- #1868 Clone node, Setting className for SVG element raises error (#2079) (f139b51)
- adopted stylesheets (#2785) (74696fa)
- allow proxy url with parameters (#2100) (a4a3ce8)
- concatenate contiguous font-family tokens (#2219) (bacfadf)
- const enums (#2651) (eeda86b)
- context scale for high resolution displays with foreignobjectrendering (#1782) (7027900)
- correctly handle allowTaint canvas cloning (#2649) (c378e22)
- correctly render partial borders (fix #1920) (#2010) (eedb81e)
- correctly respect logging option (#2013) (34b06d6)
- crash on background-size with calc() (fix #2469) (#2569) (084017a)
- disable transition properties (#2659) (f143166)
- don't apply text shadows on elements (#1795) (397595a)
- don't copy 'all' css property (#2586) (fa60716)
- element cropping & scrolling (#2625) (878e37a)
- emoji line breaking (fix #1813) (#2621) (7d788c6)
- enforce colorstop min 0 (#1743) (349bbf1)
- Ensure resizeImage's canvas has at least 1px of width and height (#2409) (bb92371)
- external styles on svg elements (#2320) (1514220)
- finish animation/transitions for elements (#2632) (969638f)
- handle unhandled promise rejections (#2568) (4555940)
- iframe load to ensure images are loaded (#2577) (eeb5a3e)
- image blob rendering (1acdc82)
- image loading="lazy" fix #2312 (#2314) (f23e6f6)
- ios 15 font rendering crash (#2645) (ba2b1cd)
- ios text wrapping with 0 width rect (#2786) (0476d06)
- logger unique names (#2575) (1715854)
- multi arg transition/animation duration (#2657) (1b55ed5)
- multi token overflow #1850 (#1851) (409674f)
- natural sizes for images with srcset (#2622) (96e23d1)
- nested z-index ordering (#2011) (00555cf), closes #1978
- none image (#2627) (6651fc6)
- null backgroundColor option as transparent (#2012) (7d3456b)
- opacity with overflow hidden (#2450) (82b7da5)
- overflow-wrap break-word (#2626) (95a46b0)
- overflows with absolutely positioned content (#2663) (38c6829)
- parsing counter content in pseudo element (#2640) (1941b9e)
- prevent unhandled promise rejections for hidden frames (#1762) (5cbe5db)
- Properties x and y of BoundingRect is undefined in old browser (#2797) (e587a82)
- radial gradient ry check (#2631) (a0dd38a)
- reduce SLICE_STACK_SIZE to 50k (#2784) (1cc853a)
- Render background-size correctly with no-repeat #447 (3f3424e)
- renderBackgroundImage lineLength (34bee72)
- responsive svg images (#2583) (92fa448)
- safari data url taints (#1797) (4e4a231)
- safari pseudo element content parsing (#2018) (3f59910)
- source maps (#2787) (46db867)
- stack exceeding for css tokenizer (#1862) (cbaecdc)
- svg d path getting truncated on copy (#2589) (dd6d885)
- test for ios range line break error (#2635) (f43f942)
- text position for form elements and list markers (#2588) (cd99f11)
- text-decoration-line fallback (#2088) (#2567) (44296e5)
- text-shadow position with baseline (#2576) (439e365)
- this.canvas.ownerDocument is undefined (#2590) (45efe54)
- type import that is only available ts 3.8 or higher (#2629) (c5c6fa0)
- typescript options type definition (#1861) (cae44a6)
- use baseline for text positioning (#2109) (85f79c1)
- using existing canvas option (#2017) (0764920)
- word-break seperators (#2593) (e9f7f48)
- wrap .sheet.cssRules access in try...catch. (#1693) (2c018d1)
- zero size iframe rendering (#1863) (81dcf7b)
1.4.1 (2022-01-22)
- Properties x and y of BoundingRect is undefined in old browser (#2797) (e587a82), closes #2797
- source maps (#2787) (46db867), closes #2787
1.4.0 (2022-01-01)
- adopted stylesheets (#2785) (74696fa), closes #2785
- ios text wrapping with 0 width rect (#2786) (0476d06), closes #2786
- reduce SLICE_STACK_SIZE to 50k (#2784) (1cc853a), closes #2784
1.3.4 (2021-12-29)
1.3.3 (2021-11-23)
1.3.2 (2021-08-15)
- add warning for webgl cloning with preserveDrawingBuffer=false (#2661) (01ed879), closes #2661
- include src files on www (#2660) (58ff000), closes #2660
- disable transition properties (#2659) (f143166), closes #2659
- overflows with absolutely positioned content (#2663) (38c6829), closes #2663
1.3.1 (2021-08-14)
1.3.0 (2021-08-13)
- add rtl render support (#2653) (6947982), closes #2653
- correctly break graphemes (#2652) (437b367), closes #2652
- correctly handle allowTaint canvas cloning (#2649) (c378e22), closes #2649
- finish animation/transitions for elements (#2632) (969638f), closes #2632
1.2.2 (2021-08-10)
- parsing counter content in pseudo element (#2640) (1941b9e), closes #2640
- radial gradient ry check (#2631) (a0dd38a), closes #2631
- test for ios range line break error (#2635) (f43f942), closes #2635
1.2.1 (2021-08-05)
- none image (#2627) (6651fc6), closes #2627
- type import that is only available ts 3.8 or higher (#2629) (c5c6fa0), closes #2629
1.2.0 (2021-08-04)
- element cropping & scrolling (#2625) (878e37a), closes #2625
- overflow-wrap break-word (#2626) (95a46b0), closes #2626
1.1.5 (2021-08-02)
- update README to github discussion Q/A (5dea36b)
- emoji line breaking (fix #1813) (#2621) (7d788c6), closes #1813 #2621 #1813
- natural sizes for images with srcset (#2622) (96e23d1), closes #2622
1.1.4 (2021-07-15)
- don't copy 'all' css property (#2586) (fa60716), closes #2586
- svg d path getting truncated on copy (#2589) (dd6d885), closes #2589
- text position for form elements and list markers (#2588) (cd99f11), closes #2588
- this.canvas.ownerDocument is undefined (#2590) (45efe54), closes #2590
- word-break seperators (#2593) (e9f7f48), closes #2593
1.1.3 (2021-07-14)
- allow access to reference element in onclone (#2584) (58b4591), closes #2584
- support for custom and slot elements (#2581) (acb4cd2), closes #2581
- iframe load to ensure images are loaded (#2577) (eeb5a3e), closes #2577
- image blob rendering (1acdc82)
- responsive svg images (#2583) (92fa448), closes #2583
- add test cases for text-stroke and textarea from (#1540 and #2132) (#2585) (1d00bfe), closes #1540 #2132 #2585
1.1.2 (2021-07-13)
- logger unique names (#2575) (1715854), closes #2575
- text-shadow position with baseline (#2576) (439e365), closes #2576
1.1.1 (2021-07-12)
- allow proxy url with parameters (#2100) (a4a3ce8), closes #2100
- crash on background-size with calc() (fix #2469) (#2569) (084017a), closes #2469 #2569
- handle unhandled promise rejections (#2568) (4555940), closes #2568
1.1.0 (2021-07-11)
- update border-style support (cf35a28)
- Ensure resizeImage's canvas has at least 1px of width and height (#2409) (bb92371), closes #2409
- text-decoration-line fallback (#2088) (#2567) (44296e5), closes #2088 #2567
- use baseline for text positioning (#2109) (85f79c1), closes #2109
1.0.0 (2021-07-04)
- add support for border-style dashed, dotted, double (#2531) (72cd528)
- opacity with overflow hidden (#2450) (82b7da5), closes #2450
- top right border radius (#2522) (ba17267)
1.0.0-rc.7 (2020-08-09)
- concatenate contiguous font-family tokens (#2219) (bacfadf), closes #2219
- external styles on svg elements (#2320) (1514220), closes #2320
1.0.0-rc.6 (2020-08-08)
- Azure Pipelines: upgrade from macOS 10.13 -> 10.14 (#2204) (c366e87), closes #2204
- build docs (#2305) (51de347), closes #2305
- #1868 Clone node, Setting className for SVG element raises error (#2079) (f139b51), closes #1868 #2079 #1868
- image loading="lazy" fix #2312 (#2314) (f23e6f6), closes #2312 #2314
1.0.0-rc.5 (2019-09-27)
- correctly respect logging option (#2013) (34b06d6365603c3b16664ab7804efe94c7945946), closes #2013
- safari pseudo element content parsing (#2018) (3f599103fb139f218ffe917800e74af2c7cc7ad5), closes #2018
- using existing canvas option (#2017) (076492042a73d67b30e4562f2964200e07d25f5e), closes #2017
1.0.0-rc.4 (2019-09-22)
- fix typo (#1864) (9a63797aa7fb81454008745d2a1c069ca24339a4), closes #1864
- ignore unsupported image functions (#1873) (61f4819e02102b112513d57b16ec7d37e989af20), closes #1873
- correctly render partial borders (fix #1920) (#2010) (eedb81ef9e114366a7e286e975659360cf9d0983), closes #1920 #2010
- nested z-index ordering (#2011) (00555cf1efddfed5877811d8a03a326f9943ab06), closes #2011 #1978
- null backgroundColor option as transparent (#2012) (7d3456b78c37e7333db087601805b32ec7ca0253), closes #2012
- zero size iframe rendering (#1863) (81dcf7b6be66920260a60908aa4b86e7530f6e17), closes #1863
1.0.0-rc.3 (2019-05-30)
- stack exceeding for css tokenizer (#1862) (cbaecdca28cfaf9bd854e1b0c005cc8058208b36), closes #1862
- typescript options type definition (#1861) (cae44a6f0a6649bd8a7c4250a20792bb5c2e5b42), closes #1861
1.0.0-rc.2 (2019-05-29)
- refactor browser tests (#1804) (a7d881019bfe1fd6404c341ca1c6fa69e0274ef5), closes #1804
- fix README documentation (20a797cbeb21baca4ce5b9a0642a5959cdf94a51)
- remove dead donation link (fix #1802) (43058241b420a5dabe94b0a4e4f6534d16a75ec0), closes #1802
- multi token overflow #1850 (#1851) (409674fba6f8038eb174b9c89360ef8b342971e9), closes #1850 #1851
- include reftests previewer with docs website (#1799) (cdc4ca8296570bf842e937c6fb7cc32a1ce2bc09), closes #1799
1.0.0-rc.1 (2019-04-10)
- add ios simulator tests (#1794) (a63cb3c0f132b1af915d9ef55a4c174f6e5502ce), closes #1794
- fix release date in changelog (238de790a9f223becbc8726633c0f2a2dabf2cb7)
- remove invalid
async
option from docs (fix #1769) (#1796) (7775d3c0d6f3efca00611bedd5fc9200689a9f7a), closes #1769 #1796
- context scale for high resolution displays with foreignobjectrendering (#1782) (7027900f4993dcd00745a4db045ed1c0e3255f8a), closes #1782
- don't apply text shadows on elements (#1795) (397595afb59ee50f0d128abb5945b5b9ddc6650d), closes #1795
- safari data url taints (#1797) (4e4a231683904dfdc1f82472ece5a160a158dbb8), closes #1797
- fix RefTestRenderer.js inclusion with karma (49f87fb680dbfe1898b3aeb60f2f5c3a93bfbe6d)
1.0.0-rc.0 (2019-04-07)
- update webpack and babel (#1793) (44f3d79f68836624c2673a86f9ad47c17ef843c3), closes #1793
- automate changelog generation (#1792) (7ebef72e927eaafd34a1792ece431d2a73109230), closes #1792
- Improve CI pipeline (#1790) (c45ef099fe8f7142e174f4fce39448a370a987d5), closes #1790
- improve canvas size limit documentation (#1576) (3212184146b33c3564c2f416e1bfda911737c38b), closes #1576
- enforce colorstop min 0 (#1743) (349bbf137abd83464e074db3948fc79a541c2ef3), closes #1743
- prevent unhandled promise rejections for hidden frames (#1762) (5cbe5db35155e3a9790a30de09feb17843053b7a), closes #1762
- wrap .sheet.cssRules access in try...catch. (#1693) (2c018d19875ced30caafdc40f84ca531de6e6f91), closes #1693
1.0.0-alpha.12 (2018-04-05)
- Fix white space appearing on element rendering (Fix #1438)
- Reset canvas transform on finish (Fix #1494)
- Fix IE11 member not found error
- Support blob image resources in non-foreignObjectRendering mode
- Re-introduce
onclone
option (Fix #1434) - Add
ignoreElements
predicate function option - Fix version console logging
- Fix dynamic style sheets
- Fix > 50% border-radius values
- Use correct doctype in cloned Document (Fix #1298)
- Fix individual border rendering (Fix #1349)
- Fix form input rendering (#1338)
- Improve word line breaking algorithm
- Fix list-style: none (#1340)
- Extend supported values for pseudo element content
- Fix underline positioning
- Fix canvas rendering on Chrome
- Fix overflow: auto
- Added support for rendering list-style
v1.0.0-alpha.4 - 12.12.2017
- Fix rendering with multiple fonts defined (Fix #796)
- Add support for radial-gradients
- Fix logging option (#1302)
- Add support for rendering webgl canvas content (#646)
- Fix external SVG loading with proxies (#802)
- Disable
foreignObjectRendering
by default (#1295) - Fix background-size when using background-origin and background-size: cover/contain (#1299)
- Added support for background-origin: content-box (#1299)
- Fix scroll positions for CanvasRenderer (#1259)
- Fix
data-html2canvas-ignore
attribute (#1253) - Fix decimal
letter-spacing
values (#1293)
- Complete rewrite of library
- Remove deprecated onrendered callback, calling
html2canvas
returns aPromise<HTMLCanvasElement>
- Removed option
type
, same results can be achieved by assigningx
,y
,scrollX
,scrollY
,width
andheight
properties.
- Add support for scaling canvas (defaults to device pixel ratio)
- Add support for multiple text-shadows
- Add support for multiple text-decorations
- Add support for text-decoration-color
- Add support for percentage values for border-radius
- Correctly handle px and percentage values in linear-gradients
- Correctly support all angle types for linear-gradients
- Add support for multiple values for background-repeat, background-position and background-size
- Fix logger requiring access to window object
- Derequire browserify build
- Fix rendering of specific elements when window is scrolled and
type
isn't set toview
- Handle color names in linear gradients
- Remove Promise polyfill (use native or provide it yourself)
- Fix bug with unmatched color stops in gradients
- Fix scrolling issues with iOS
- Correctly handle named colors in gradients
- Accept matrix3d transforms
- Fix transparent colors breaking gradients
- Preserve scrolling positions on render
- Switch to using browserify for building
- Fix (#517) Chrome stretches background images with 'auto' or single attributes
- Complete rewrite of library
- Switched interface to return Promise
- Uses hidden iframe window to perform rendering, allowing async rendering and doesn't force the viewport to be scrolled to the top anymore.
- Better support for unicode
- Checkbox/radio button rendering
- SVG rendering
- iframe rendering
- Changed format for proxy requests, permitting binary responses with CORS headers as well
- Fixed many layering issues (see z-index tests)
- Added support for bower
- Improved z-index ordering
- Basic implementation for CSS transformations
- Fixed inline text in top element
- Basic implementation for text-shadow
- Added rendering tests with webdriver
- Switched to using grunt for building
- Removed support for IE<9, including any FlashCanvas bits
- Support for border-radius
- Support for multiple background images, size, and clipping
- Support for :before and :after pseudo elements
- Support for placeholder rendering
- Reformatted all tests to small units to test specific features
- Removed (last?) jQuery dependencies (niklasvh)
- SVG-powered rendering (niklasvh)
- Radial gradients (SunboX)
- Split renderers to their own objects (niklasvh)
- Simplified API, cleaned up code (niklasvh)