- [placeholder-pdf-lib] Fix typing for
pdf-lib
'sPDFPage
. - [placeholder-pdf-lib] Correctly noted that either
pdfDoc
orpdfPage
is required, not both. - Introduced
tsd
to verify the types that we generate.
- [examples] Run linting on examples;
- [placeholder-plain] Fix ability to add a placeholder to a file that contains the "trailer" keyword in plain text;
- Bumped version of ip, punycode and sshpk.
- Zero-change version. Lerna versioning was messed up with
lerna publish from-package
.
- [signer-p12] Fixed JSDoc on the sign() method.
-
[utils] Introduced
convertBuffer()
to allow inputs asBuffer
,Uint8Array
orstring
; -
[utils] The
Signer
abstract class accepts an optionalsigningTime
; -
[utils]
removeTrailingNewLine
would works for files with\r
,\n
or\r\n
; -
[signpdf] Accepts
Buffer
,Uint8Array
orstring
as input; -
[signer-p12] Accepts
Buffer
,Uint8Array
orstring
as input; -
[signer-p12] Respects
signingTime
as abstracted inSigner
; -
[placeholder-pdf-lib] Accepts either a
PDFDoc
or aPDFPage
to allow adding the placeholder to a specific page rather than always the first one; -
[placeholder-pdf-lib] Accepts
signingTime
; -
[placeholder-pdf-lib] Includes an
AP
appearance stream for PDF/A compliance; -
[placeholder-pdf-lib] Accepts
appName
and includes it inProp_Build
to allow describing the signing application; -
[placeholder-pdf-lib] Does not require
{useObjectStreams: false}
; -
[placeholder-pdfkit] Accepts
signingTime
; -
[placeholder-pdfkit] Accepts
appName
and includes it inProp_Build
to allow describing the signing application; -
[placeholder-pdfkit010] Accepts
signingTime
; -
[placeholder-pdfkit010] Accepts
appName
and includes it inProp_Build
to allow describing the signing application; -
[placeholder-plain] Accepts
signingTime
; -
[placeholder-plain] Accepts
appName
and includes it inProp_Build
to allow describing the signing application; -
Bumped version of follow-redirects;
- [placeholder-pdfkit] Introduce the package that uses PDFKit > 0.10 for adding a placeholder;
- [utils] Added
SIG_FLAGS
andANNOTATION_FLAGS
to improve readability; - [utils] Reworked
findByteRange
to match in more cases where it was incompatible so far (it didn't allow optional spaces in the array). - [placeholder-pdfkit010] Uses
SIG_FLAGS
andANNOTATION_FLAGS
instead of magic numbers; - [placeholder-pdfkit010] Allow passing in
widgetRect
to override the default[0, 0, 0, 0]
one; - [placeholder-plain] Allow passing in
widgetRect
to override the default[0, 0, 0, 0]
one; - [placeholder-pdf-lib] Introduce the package that uses PDF-LIB for adding a placeholder;
- [signpdf] Use the BR position
findByteRange
provides to spare a search for it; - [signpdf] Reexports the
Signer
base (abstract) class andSignPdfError
; - [examples] Introduce an example that provides a visible widget (implemented with pdfkit);
- [examples] Introduce a
placeholder-pdf-lib
example; - Bumped version of axios;
- Deprecating
node-signpdf
to be replaced by the@signpdf
scoped packages; - Split the helpers into separate packages
@signpdf/placeholder-pdfkit010
and@signpdf/placeholder-plain
; - Decoupled the signing algorythm and the PDF signing process. Now
@signpdf/signpdf
understands PDFs and@signpdf/signer-p12
understands P12 andnode-forge
; - sign() is now async to allow for hooking different signers;
- placeholder helpers now require
contactInfo
,location
andname
which used to be optional; - Introduced examples in
packages/examples
; - Introduced more types declarations through TS and JSDoc;
- Only publish dist files into npm (see https://bit.ly/46rykd7 on why this requires a major version);
- Produce and publish .d.ts;
- Bumped versions of semver and word-wrap;
- Reorder authenticatedAttributes so that EU's verification passes;
- Reworked reading xref table;
- Shifted minimum Node from 10 to 12;
- Added Husky;
- Upgraded dependencies;
- Added support for overriding signature SubFilter value allowing the creation of PAdES compliant signatures;
- Added linting to CI;
- Bump dependencies;
- Removed Travis integration in favor of GitHub Actions;
- plainAddPlaceholder: Fixed loss of PDF metadata when adding placeholder;
- Export helpers from root;
- Bumped dependencies;
- Fixed detection of ByteRange (including when it is a placeholder);
- Bumped node-forge version;
- Allow pdfkitAddPlaceholder to receive custom location, contactInfo, name;
- Fixed duplicate startxref in some PDFs;
- Fixed AcroForm ID extraction;
- Updated dependencies;
- Fixed the opposite of 1.2.2's fix: adding placeholder failed when there were no previous /Annots.
- Fixed an issue in plainAddPlaceholder that used to fail when the source PDF already contained /Annots.
- Fixed the logo for display in npmjs.com.
removeTrailingNewLine
removes both\r
and\n
.- Simplified regex that finds page dictionary ref.
- Introduced the logo.
plainAddPlaceholder
creates an incremental change to allow signing a document multiple times.
- Republish to fix messed up
latest
tag
- Removed signature verification as it is an incomplete implementation
- Split helpers as they became a huge piece of code
- Renamed
addSignaturePlaceholder
topdfkitAddPlaceholder
- Implemented
plainAddPlaceholder
that works without pdfkit but with string/Buffer operations instead - Started this CHNAGELOG
- Switched from npm to yarn
- Upgraded dependencies due to vulnerabilities
- Fixed the ByteRange-matching regex
- Fixed ByteRange logic in extractSignature
- Updated the way the page dictionary is refernced to make it work with both pdfkit 0.8 and 0.9
- Upgraded dependencies due to vulnerabilities
- Added signature verification
- Extracted helpers out to make them reusable