- Error codes (#442)
- Type definitions for common js imports (cbe419a)
- Use imports with
js
file extensions (1c77d52)
- Regenerate documentation (9dd2281)
- Visual pdf tests throwing error (7936151)
- table: Throwing error when header row was enabled on a table with multiple columns (b096a51)
- table: Setting padding to
0
not working in a tuple type (14ad3c3) - table: Continue table on the same horizontal position (e8e5aec)
- table: Rendering of imaginary layers (9eb4f3d)
- table: Converting of tuple shorthand syntax (99b1c95)
- Simplify types for easier documentation (4f2bb37)
- Regenerate docs (89d8301)
- Add description (082d9ed)
- Update dependencies (06816ab)
- Disable multi threading in debugger (85911a1)
v4.0.0 - 10.11.2023
With version 4, SwissQRBill has been completely reworked. The main goal was to make the API more flexible and reduce the complexity of the library. As a consequence, the API has changed quite significantly. However, migration should be fairly easy.
Please read the migration guide for more information and have a look at the updated documentation.
-
New features
- SwissQRBill can now be attached to any PDFDocument instance from PDFKit.
- New SwissQRCode class to create the standalone Swiss QR Code to attach to an existing PDFKit document.
- New Table class to create a table to attach to an existing PDFKit document.
- It is now possible to change the font of the QR Bill. The allowed fonts are
"Arial"
|"Frutiger"
|"Helvetica"
|"Liberation Sans"
- Additional options for SVG renderings.
-
Breaking changes
- The entrypoints have changed. Please read the importing documentation for more information.
- SwissQRBill no longer extends PDFKit.
- The table method has been extracted into it's own class.
- Events have been removed from SwissQRBill.
- Properties and options have been renamed.
- Now requires Node.js >= 18.0.0
-
Fixes
- Some slight rendering improvements.
-
Other improvements
- Better examples. The examples are now automatically hosted on StackBlitz. Everyone can now easily try out the library in the browser without having to install anything.
- Automated documentation. SwissQRBill now uses unwritten to automatically generate the documentation. This makes it easier to keep the documentation up to date.
- Automated testing for even more stability.
Thanks to @danielpanero and @skch-17 for their contributions.
v3.2.3 - 16.04.2023
- Updated dependencies.
- Removed source maps from the pre-built bundle.
v3.2.2 - 14.01.2023
- Updated dependencies.
- Fixed CI status badge.
v3.2.1 - 31.08.2022
- Performance improvements for in QR-Code rendering for PDF renderings. #384
- Enforce minimum and maximum allowed QR-Code versions according to the specifications.
v3.2.0 - 05.03.2022
- Changed
PDF_._data
property to be protected to allow extending thePDF_
class. #368
v3.1.5 - 21.02.2022
- Fixed umlauts not correctly decoded with PostFinance scanner. #367
- QR-Bills rendered as SVG now have a white background color.
v3.1.4 - 11.01.2022
- Fixed rendering of debtor rectangle in when page size is A4. #361
- Fixed rendering of country code for foreign payments. #362
- Fixed missing of
-
character in svg text rendering. #363
v3.1.3 - 05.12.2021
- Fixed rendering of AV1 and AV2. #357
v3.1.2 - 26.11.2021
- Removed deprecated restrictions for AV1 and AV2. #355
v3.1.1 - 13.11.2021
- Fixed swiss cross positioning for PDF rendering. #353
v3.1.0 - 12.11.2021
- Added TSDoc comments. #348
- Removed unwanted space in
utils.formatAmount()
. #349 - Fixed the formatting of the reference in SVG renderings. #351
- Added a new
utils.formatReference()
function that auto detects the reference type. - Improved the text spacing and positioning. #352
v3.0.1 - 14.10.2021
- Changed build target to ES6 to support older Browsers and Node.js versions. #347
v3.0.0 - 03.10.2021
- New features
- SVG
- Added support for SVG rendering. #343
- Added ES6 module exports.
- Support for tree shaking.
- utils
- Added
mm2px()
function. - Added
px2mm()
function. - Added
pt2mm()
function.
- Added
- SVG
- Breaking changes
- imports
- SwissQRBill is now available as a CommonJS and an ES module. This may change how the module has to be imported. Please take a look at the importing the library section in the readme.
- data
- the field
houseNumber
has been renamed tobuildingNumber
. - the deprecated field
debitor
has been removed. Usedebtor
instead.
- the field
- utils
mmToPoints()
function has been renamed tomm2pt()
.
- PDF
- Removed deprecated
mmToPoints()
export. Useutils.mm2pt()
instead.
- Removed deprecated
- imports
- Fixes
- PDF
- The positioning of the box when no amount is provided has been slightly corrected.
- The positioning iban on the payment part has been slightly corrected.
- Fixed positioning of the debtor boxes when no debtor is provided and the creditor address break to multiple lines.
- PDF
v2.4.2 - 26.08.2021
- Fixed translation of
additionalInformation
andpayableByName
. #342
v2.4.1 - 25.08.2021
- Fixed missing rendering of
message
. #340
v2.4.0 - 01.07.2021
- Added an optional size parameter to specify the new page size in
addQRBill()
. #338
v2.3.3 - 05.04.2021
- A string is now allowed for the zip code field. #294
v2.3.1 - 06.02.2021
- Removed iban dependency and integrated IBAN validation directly into the library.
- Fixed some misleading error messages.
v2.3.0 - 24.01.2021
- Added options to disable rendering of outlines, scissors icons or text
Separate before paying in
, for use with perforated or preprinted paper.
v2.2.0 - 20.01.2021
- Switched from
fs.WriteStream
tostream.Writable
in order to provide more streaming flexibility. #207
v2.1.0 - 15.12.2020
- Changed the implemented QR code library to fix an issue that caused QR code scanning to fail on some QR readers.
- Added utility functions to simplify the creation of QR bills.
- Added additional QR-Reference validation.
v2.0.3 - 09.12.2020
- Fixed a problem with QR Code encoding that caused QR Code scanning to fail at certain banks.
v2.0.2 - 19.08.2020
- Fixed an issue that caused reference to render incorrectly.
- Fixed "Compte / Payable à" to display correctly in french QR bills.
v2.0.1 - 22.07.2020
- Small bug fixes and code cleanup.
v2.0.0 - 12.07.2020
- Added browser support.
- Added new blobStream method.
- Added possibility to stream the pdf into a buffer.
v1.3.1 - 27.06.2020
- Fixed invalid QR Code field when the second decimal place in amount is a zero.
v1.3.0 - 25.06.2020
- Tables
- Added new header property on table rows to automatically insert a header row on new pages.
- Table row height is now automatically calculated if not otherwise defined.
- Added padding property to rows and cells.
- Events
- Added new beforeEnd event that could be used to add page numbers.
- Added new pageAdded event that could be used to add a header to the pages.
- Renamed
debitor
property todebtor
. - Improved documentation.
- TypeScript declaration improvements.
- Fixed typos in examples.
v1.2.0 - 06.06.2020
- Added optional callback function that gets executed once the pdf file has completed writing.
- Emit finish event once the pdf file has completed writing.
v1.1.0 - 15.03.2020
- Fixed some validation checks.
- Improved error messages.
- Added new method to generate tables.
- Improved documentation.
v1.0.6 - 04.03.2020
- Fixed QR Code fields.
- Added user data validation.
v1.0.5 - 03.03.2020
- Fixed french characters.
- Removes new lines in user data.
- Fixed some layout issues.