highlights of updates
general updates
- all extensions dependencies were updated to ensure that we don't use vulnerable packages, so npm audit now reports 0 vulnerabilities in most cases
- we now provide docker images for ARM architectures, so jsreport docker images now will work fine in machines with Apple M1 based hardware. see this docs for details
- start to differentiate between template not found errors and permissions errors for better understanding
- reports cleanup logic was improved with limits to avoid memory issues
- office recipes (
docx,xlsx,pptx) now default to accept buffer strings as base64 and throw better error when failed to parse office template input - user level logs (done in script of web pages like chrome) are now logged with level
debug - xlsx:
xlsxAddImagenow support alt text andxlsxChartcan be used along with dynamic table - docx:
docxStyle,docxImage,docxChart,docxHtmlnow can be used safely in document header/footer - docx: add initial implementation of
docxChildhelper to allow merging text of another docx - pptx: improvements to
pptxImage(new options: (usePlaceholderSize, width, height) - pptx: improvements to
pptxTable(new support of vertical tables) - pdf-utils: added support for specifying custom properties for PDF metadata
core
- add more store methods
collection.findAdmin,collection.findOneAdmin,reporter.adminRequestto easily allow execution of store queries without taking into account permissions - improve logging for child requests and user level logs
- differentiate between template not found errors and permissions related errors (it is now more clean what is the cause of specific error)
- normalize to error when non-errors are throw (like throw "string")
- improve errors in helpers (it now includes the helper name)
- improve error message when template was not found in child request
- improve error handling in sandbox
studio
- improve ⇧ + ↑, ⇧ + ↓ entity tree multi selection in studio
- add studio range select with ⇧ + click to start and end
child-templates
- improve logging and errors
express
- wait for jsreport initialization globally in middleware (this means that http routes will wait until jsreport is initialized before going to the route logic)
assets
- errors from asset logic should be weak
- validate that passed asset path is string
scripts
- ignore scripts attached to template which contain scope that is not compatible to run at the template level
reports
- reports cleanup now use a limit of report to clean on each interval (default 10, can be configured with
extensions.reports.cleanParallelLimitoption)
html-to-xlsx
- no table elements should be a weak error
xlsx
- xlsxAddImage support for alt text
- fix xlsx chart generation when it points to dynamic table generated by loop
chrome
- use url.pathToFileURL to avoid problems with space in file paths for windows
- threat timeout errors as weak errors
cli
- improve error logging
pdf-utils
- added support for specifying custom properties for PDF metadata
- dont fail when recipe null not yet validated
static-pdf
- dont fail when
req.template.staticPdfis null
docx
- make
docxStylework in document header/footer - add
docxChildhelper to allow merging text of another docx - accept buffer strings as base64 and throw better error when failed to parse office template input
- make
docxImageanddocxChartto work in document header/footer - make
docxHtmlwork in document header/footer
pptx
- fix support of
pptxTableand add support for vertical tables pptxImagenow support same options asdocxImage(usePlaceholderSize, width, height options)- accept buffer strings as base64 and throw better error when failed to parse office template input