Releases: parallax/jsPDF
v2.5.2
This release upgrades the Dompurify dependency to 2.5.4 with fixes a vulnerability with high severity: GHSA-mmhx-hmjr-r674.
It also upgrades fflate, core-js, and @babel/runtime to more recent versions.
What's Changed
- Implement justifying for unicode fonts by @owenl131 in #3285
- chore: update dompurify version 2.5.4 by @MarcioMeier in #3768
- [Snyk] Upgrade fflate from 0.4.8 to 0.8.1 by @MrRio in #3666
- [Snyk] Upgrade core-js from 3.6.5 to 3.33.0 by @MrRio in #3664
- [Snyk] Upgrade @babel/runtime from 7.14.6 to 7.23.2 by @MrRio in #3665
v2.5.1
v2.5.0
This release adds some minor new features and fixes some bugs, e.g. related to multiline text. Thanks to all contributors!
New Features
Bugfixes
- #3271: fix
html
function only rendering on the first invocation per document - #3304, #3295: fix
context2D.closePath
(now properly closes the path) - #3274: fix Acroform text fields with multiline text
- #3281: fix
textWithLink
for multiline text - #3283: fix
lineHeightFactor
intext
options having no effect - #3302: fixes to
html
typings - #3272: fix return type of
save
function in typings (promise overload)
v2.4.0
This release brings long awaited improvements to the html
function and many other bugfixes and improvements. Thanks to all contributors!
- #3203: Add
width
andwindowWidth
options to thehtml
method, which will make correct scaling much easier. - #2977: Add/implement
margin
option forhtml
method and addautoPaging
option with two different modes:'slice'
and'text'
. - #3169: Add
setLineDash
andlineDashOffset
tocontext2d
. - #3039: Add
rowStart
andcellStart
events andheaderTextColor
property to `table' function - #3132: Fix possibly negative line widths in context2d.
- #3217: Fix
setFont
withfontWeight
parameter for the built-in basic fonts - #3173: Fix violation of strict mode.
- #3121: Improve
addImage
performance. - #3124: Allow to pass RGBA array to
addImage
. - #3135: Fix possibly imbalanced render target stack with form objects.
- #3148: Add
getDrawColor
function to typings. - #3149: Fix font name escaping.
- #3150: Throw an error when a zero size canvas is passed to
addImage
. - #3168: Fix word spacing after justified text.
- #3215: Fix nullability of style arguments of geometry methods.
- #3108: Complete the
jsPDFOptions
type in the typings. - #3119: Improve typings of the
output
function.
v2.3.1
Small bugfixes. Thanks to all contributors!
v2.3.0
A couple of bugfixes, improved font handling and faster compression.
- #3026: Fix alignment of links created with
textWithLink
- #3032: Fix alignment of table headers
- #3062: Fix a bug where the
options.flags
parameter was ignored by thetext
method and consequently had the wrong defaults. This lead to garbled characters sometimes and was a regression to 1.5.3. - #3014: Add typings for internal events API
- #3036: Support for numeric font weights and separation of font weight and font style
- #3040: New
fontFaces
option for thehtml
method that allows to add fonts similar CSS@font-face
rules (noaddFont
calls required anymore). When supplied, fonts are resolved using the CSS 3 font loading algorithm. - #3054: replace pako library with fflate leading to faster compression and smaller bundle sizes.
v2.2.0
Incorporates many of the awesome contributions in context of the Hacktoberfest. Thanks to all the contributors!
- #2944: Fix PDF compression. Special thanks to @markotaht!
- #2959: Add support for PDF encryption. Special thanks to @owenl131!
- #3018: Fix font name escaping
- #3017: Fix dependencies in bower.json
- #3014: Added typings for the events API
- #2982: Bump dompurify version to fix cve-2020-7691
- #2981: Fix Canvg import
- #2946: Remove API, that was removed in the 2.0.0 release, also from the typings
- #2943: Fix links on pages with different size than the first page
- #2942: Fix multiline texts in combination with the
maxWidth
text option - #2933, #3021: Fix typings of exported types like
ImageCompression
- #2915: Fix documentation of
text
method - #2906: Fix
"Could not load <module>"
error messages - #2905: Fix usages of atob/btoa in Internet Explorer and "old Edge"
v2.1.1
v2.1.0
- #2865: Fix "Critical dependency: the request of a dependency is an expression" warning and loading of optional dependencies
- #2872: Add support for numbers in cell module
- #2866: Fix XREF table generation
- #2855: Fix PdfJS output filename
- #2848: Fix getTextDimensions typings
- Updated readme
- Fixed some examples
v2.0.0
Finally a new release!
A lot has changed since the last release:
- jsPDF is now co-maintained by yWorks and we merged the yWorks fork into this repo adding a lot of new features like patterns, matrices, simple path operations, etc. See the readme for details.
- Modernized the output bundles: there are now bundles for ES modules, UMD and a special node version. We renamed the files in dist for consistency:
jspdf.debug/min.js
is nowjspdf.umd(.min).js
. We also changed the name of the global variable tojspdf
(lower case) when using script tags to be consistent with the new es modules format and named imports/exports. For backwards compatibility add this line:
window.jsPDF = window.jspdf.jsPDF
- Added typings for TypeScript support.
- Removed APIs that were previously marked as deprecated. Namely:
addHTML
,fromHTML
,html2pdf
,addSvg
,addButton
,addTextField
,addChoiceField
,cellInitialize
,setFontStyle
,setFontType
,clip_fixed
. - Fixed the file-saver npm/bower install issue where jsPDF depended on a (non-existent) version directly from GitHub.
- Made it compatible with all major toolkits and frameworks.
- Refactored big parts of the code.
- A lot of small and big bugfixes. Especially thanks to @SmythConor, @bwl21, @32leaves, @mktcode, @durs, @kakugiki, @AdamGold and many others!
Here an (incomplete) list of additional bugfixes and changes:
- #2835: Fixed reading of compound glyphs when using custom fonts
- #2834: Fixed usage of custom fonts in context2d/when using the html method
- #2824: Added
maxWidth
parameter togetTextDimensions
- #2817: Fixed top margin in
html
method that occurred with html2canvas@1.0.0-rc5 - #2816: Fixed escaping of font names with spaces
- #2702: Fix context2d lineWidth scaling
- #2806: Fix sanitizing of HTML passed as string to the
html
method - #2797: Fix scaling issue with Acroform fields
- #2793: Fix autopaging issue in context2d with 10 or more pages
- addImage and addFont accept now urls as parameters so the conversion to dataURLs is now only needed if you want to avoid CORS restrictions
- WebP and JPEG Raw are now supported.
- unnecessary data conversions are now reduced, so for example images should now render faster
There are some breaking changes in the API. But these are mostly API-methods which you should not use anyway.
While this release is a big step in the right direction, there are still many open issues (currently ~90). The maintainers of this repo (currently mostly @HackbrettXXX) have very limited time and can't resolve them all without the help of the community. This is another shout out to the community: if you like this project and want to make it even more awesome, consider spending one or two hours on improving it. Pull requests are very much appreciated!