Releases: jsreport/jsreport
4.11.0
highlights of updates
general updates
- we currently don't provide compiled binaries for the latest release, we will try to bring back the compiled versions in the next release
- pdf-utils: updates to comply with pdf/UA after changes in pdfs shapes generated by latest chrome
- authorization: add option to control if insert is allowed in the root for users with no explicit permissions
- html-to-xlsx: fix support for more colspan/rowspan based layouts
- docx:
docxChildcan now merge images, new helperdocxRemove,docxStylecan modify shapes properties anddocxImagenow reads exif orientation metadata to apply defaults - minimum node.js version is now 22.18
- update Chrome to
142.0.7444.175 - all extensions dependencies were updated to ensure that we do our best to not use vulnerable packages, npm audit may or may not report 0 vulnerabilities in most cases
schema changes
(none)
core
- expose
versionto the jsreport-proxy
components
- studio: highlight components in template source and allow ctrl+click to open them
authorization
- add option to control if insert is allowed in the root for users with no explicit permissions
html-to-xlsx
- better error for invalid base xlsx template
- fix support for more colspan/rowspan based layouts
pdf-utils
- use native js implementation for images compression to support aws lambda
- adapt pdfjs and pdf/UA for the latest shape of pdfs in chrome
version-control
- add concurrency limit to tasks that work with multiple items to avoid hitting max database connections
docx
- add support for
docxChildto merge images - modify shapes properties with
docxStyle - fix TOC processing on specific template
- read exif orientation metadata of images used in
docxImagefor default display - fix generating broken document when same image is used in different footers
- add new helper
docxRemoveto allow removing content
import-export
- fix visibilityPermissions not getting preserved after import
4.10.1
📢 The >=4.10.0 includes updated Chromium 138 that changed the CSS flexbox calculations. This has effect on CSS you typically use to position PDF footers. Check the following for the forum topic details.
highlights of updates
general updates
- add guided autofix for the flexbox change in chromium 138 (introduced in jsreport 4.10.0)
- express: fix trying to write on http response when client abort the request early
- html-to-xlsx: fix rowspan/colspan based layout not working
- pdf-utils: adapt to work with uncompressed content streams produced by latest chromium
- all extensions dependencies were updated to ensure that we do our best to not use vulnerable packages, npm audit may or may not report 0 vulnerabilities in most cases
- the default chrome that comes with jsreport and the chrome versions installed in docker :
Chrome 138
schema changes
(none)
express
- dont visit common error handler when response streaming fails, end immediately
html-to-xlsx
- fix rowspan/colspan based layout not working
xlsx
xlsxCTypehelper normalize input "s" type to internal "inlineStr"
pdf-utils
- reflect and add guided autofix for the chromium 138 flexbox change
- adapt to work with uncompressed content streams produced by latest chromium
sample-template
- update style in Orders sample needed to work after the Chromium 138 update
4.10.0
📢 The 4.10.0 includes updated Chromium 138 that changed the CSS flexbox calculations. This has effect on CSS you typically use to position PDF footers. Check the following for the forum topic details.
highlights of updates
general updates
- docx: make document with section breaks to work properly with conditional content
- html-to-xlsx: fix regression in table borders when colspan is used, fix xlsx viewer clipping content
- xlsx: support for generating dynamic cells in a loop (vertically and horizontally), preserve rich text in cell, support for setting explicit cell type, fix xlsx viewer clipping content
- pdf-utils: add support for pdf compression
- all extensions dependencies were updated to ensure that we do our best to not use vulnerable packages, npm audit may or may not report 0 vulnerabilities in most cases
- the default chrome that comes with jsreport and the chrome versions installed in docker were updated to use
Chrome 138
schema changes
added columns
jsreport_TemplateType.pdfCompression_enabled as boolean
jsreport_TemplateType.pdfCompression_jpegQuality as decimal
jsreport_TemplateType.pdfCompression_removeAccessibility as boolean
jsreport_TemplateType.pdfCompression_useObjectStreams as boolean
jsreport_TemplateType.pdfCompression_recompressStreams as boolean
jsreport_TemplateType.pdfCompression_convertImagesToJpeg as boolean
jsreport_TemplateType.pdfCompression_removeEffects as boolean
npm
- use fs based lockfile to avoid parallel npm install
reports
- fix logging
html-to-xlsx
- fix regression in table borders for specific colspan layout
- fix xlsx viewer clipping content. generate empty cell (no child
<v>) if cell does not have value
xlsx
- fix xlsx viewer clipping content. generate empty cell (no child
<v>) if handlebars returns empty value - support for generating dynamic cells in a loop
- support for preserving rich text in cell
- support for setting explicit cell type
chrome-pdf
- allow to use default docker image without extra flags
pdf-utils
- add support for pdf compression
docx
- make document with section breaks to work properly with conditional content
- fix block_helper_container recognition not working for single block that start and end in single text nodes
4.9.0
highlights of updates
general updates
- docx: add support for using a custom loader function to load images (for
docxHtml,docxImagehelpers) to get the images from a custom implementation but without loading all images in memory, support for gettingcontentandinlineparameters from async execution, fix some regressions when conditional blocks were used in the docx template - chrome: add
chromeResourceWithTimeouthelper to load resources with a custom timeout and prevent non-critical resources to make the render to fail, add new strategyconnectto use a remote chrome for rendering - xlsx: fix using string literals in handlebars helper calls
- reports: fix async reports handling when user group is logged in
- all extensions dependencies were updated to ensure that we do our best to not use vulnerable packages, npm audit may or may not report 0 vulnerabilities in most cases
- the default chrome that comes with jsreport and the chrome versions installed in docker were updated to use
Chrome 136
schema changes
none
core
- expose methods to create temporary files in jsreport-proxy
- add support for taking nested errors from error.cause
- add worker id to worker creation
studio
- migrate from Enzyme to @testing-library/react to fix running tests
reports
- fix async reports handling when user group is logged in
xlsx
- dont remove xmlns from elements
- fix passing strings as values to handlebars helpers
chrome-pdf
- implement chrome connect strategy
- add resources timeout for chrome
cli
- print nested errors from error.cause
docx
- docxHtml images now supports passing a custom loader function to allow a custom method to fetch images without loading all images in memory.
- docxImage now supports using a loader function for
src,fallbackSrcto allow a custom method to fetch images without loading all images in memory. - docxHtml support for getting
contentandinlineparameters from async execution - fix regression when multiple docxTable are used with docxHtml content
- dont remove xmlns from elements
- refactor some internals to fix break dynamic templates that use conditional html calls
- improve error message when there is handlebars syntax issues in the docx template
- fix case with template with multiple docxHtml calls and conditionals producing broken document
4.8.0
highlights of updates
general updates
- file system store operations were optimized for big workspaces
- sql and mongo stores now create indexes during schema creation (speeding queries)
- html-to-xlsx: support for vertical text, border styles are now normalized according to html table border collapsing rules
- docx: fix regression in docxImage when reading jpg with CMYK color code, fix lists numbering, fix border left normalization, support for
<colgroup>,<col>tags in table, and col width customization - xlsx: vertical loop complete support with formulas
- pptx: support for col width customization
- you can now cancel render request from profiler page in studio
- all extensions dependencies were updated to ensure that we do our best to not use vulnerable packages, npm audit may or may not report 0 vulnerabilities in most cases
- the default chrome that comes with jsreport and the chrome versions installed in docker were updated to use
Chrome 133
schema changes
- added column jsreport_ReportType.meta as string
core
- optimize fs store operations for big workspaces
- reimplement and optimize fs transactions
- fix async reports with mongo store
- create store indexes during schema creation fix
- implement canceling requests from profiler
studio
- implement canceling requests from profiler
- add duration column to the profiler page
express
- propagate res.meta.headers to the Location responses
- implement canceling requests from profiler
scripts
- modify script entity type to support creating store indexes
reports
- propagate res.meta.headers to the Location responses
authentication
- fix login of non admin user in sql based stores
fs-store
- remove external sync modifications code based on old transactions model
- optimizations for big workspaces
- reimplement and optimize fs transactions
authorization
- create store indexes during schema creation
- fix inconsistency between permissions check for insert into folder when logged in as normal and user as group (from SSO)
scheduling
- update cron-parser dep to support nth weekday of month like 0 0 * * 1#1
- create store indexes during schema creation
- implement canceling requests from profiler
html-to-xlsx
- fix htmlToXlsxEachRows not working with using empty array as data
- support for vertical text (transform: rotate() to rotate text at certain angles, using together writing-mode and text-orientation)
- border styles now are normalized according to html table border collapsing rules
xlsx
- vertical loop complete support test cases with formulas
chrome-pdf
- set chrome protocolTimeout based on reportTimeout
cli
- add graceful shutdown to the server.js
pdf-utils
- support chrome 133 generated structures
- improve perf processSMask pdfA
- copy aria tags for chrome 131 generated pdfs
version-control
- move not so much used "commits" button to the settings toolbar
- add clear all commits button
sample-template
- fix demo chart
docx
- fix regression in docxImage when reading jpg with CMYK color code
- docxHtml: fix lists numbering not getting generated properly when there is more than one docxhtml call
- docxHtml support for
<colgroup>,<col>tags in table - fix docxHtml border left normalization
- fix docxHtml condition for possible null value
- docxTable support col width customization
pptx
- pptxTable support col width customization
4.7.0
highlights of updates
general updates
- blobStorage now support saving reports bigger than 1gb,
- support for using a custom favicon in studio
- assets now support a new encoding
bufferto work better with binary data in scripts/helpers - pdf-utils now supports working with more cases of external pdf files
- xlsx: add vertical loop support to generation step (beta), fix for loop with handlebars block parameters
- docx: add
docxObjecthelper to allow embeddingdocxfile into another docx, docxHtml ol lists now support thestartattribute, fixdocxStyleworking with tables - all extensions dependencies were updated to ensure that we do our best to not use vulnerable packages, npm audit may or may not report 0 vulnerabilities in most cases
- the default chrome that comes with jsreport and the chrome versions installed in docker were updated to use
Chrome 127
core
- fix blobStorage failing to save reports bigger than 1gb
- decrease default value of
options.profile.maxDiffSizeto10mb - fix logs metadata for main logs
- fix support for using of async helper that returns a value other than string in template engines
- improve support for
jsreport.templateEngines.waitForAsyncHelperswhen used in async helper
studio
- add option
favicon(path to a file) to allow changing the favicon used in studio - fix firefox bug triggering click event after mouseup event caused by user selecting text
- fix middle click to close tab not working on firefox
assets
- add support for encoding
buffer(handy when working in scripts/helpers that work directly with binary data)
authorization
- fix
visibilityPermissionspermission on folder not preserved if changes are made to grandchildren folders
xlsx
- generation step: add vertical loop support as beta
- fix generation step not working when the using loop with block parameters
- fix using folder scoped asset helpers in xlsx generation
pdf-utils
- improve manipulation support for more cases of external pdf files
docx
docxHtmlol lists now support thestartattribute- fix
docxStyleworking with tables - add
docxObjecthelper to allow embeddingdocxfile into another docx
4.6.0
highlights of updates
general updates
- fix chrome-pdf hanging on Windows
- fix regression with users with "allow read all entities" option set not working
- xlsx: performance improvements when processing templates with lots of cells
- docx: table cell support for vertical-align style, fix error when having a div as sibling of two inline elements
- all extensions dependencies were updated to ensure that we do our best to not use vulnerable packages, npm audit may or may not report 0 vulnerabilities in most cases
- the default chrome that comes with jsreport and the chrome versions installed in docker were updated to use
Chrome 127
core
- fix timestamp shown in logging
text
- fix typo in label content disposition
authentication
- fix regression with user with "allow read all entities" not working
- update passport to 0.7.0 and fix npm audit
xlsx
- keep existing dimension when appropriate
- fix escaping issue in formulas
- optimization for autofit cols and cell type auto detection helpers
- performance improvement for templates with lots of cells in calcChain (using lot of formulas)
docx
- docxHtml table cell support for vertical-align style
- fix docxHtml throwing error when table have a div as sibling with two inline elements
- usage of Handlebars.createFrame should inherit existing data to ensure it correctly propagates existing values
pptx
- usage of Handlebars.createFrame should inherit existing data to ensure it correctly propagates existing values
4.5.0
highlights of updates
general updates
- docx: docxHtml now supports generating nested tables, and table, row and cells support setting background color and color styles
- pptx: pptx now supports dynamic rows and columns generation, and hyperlinks in loop
- docx, pptx: improve compatibility with target urls from template document being stored as string that is encoded multiple times
- import-export: export performance improved
- improve queuing and responsiveness of workers for async reports requests
- fix require('..') and require('.') in sandbox
- fix component rendering in loop with async helpers
- all extensions dependencies were updated to ensure that we don't use vulnerable packages, so npm audit now reports 0 vulnerabilities in most cases
- the default chrome that comes with jsreport and the chrome versions installed in docker were updated to use
Chrome 126
core
- trigger async report using header to avoid allocating worker
- fix require('..') and require('.') in sandbox
- fix component rendering in loop with async work on helpers
- update @jsreport/ses to 1.1.0
express
- trigger async report using header to avoid allocating worker
components
- fix component rendering in loop with async helpers
reports
- trigger async report using header to avoid allocating worker
docx
- use decodeURIComponentRecursive helper to handle better different cases of MS Programs storing target urls encoded multiple times
- docxHtml: add support for generating nested tables
- docxHtml: support for table, row, cell background color and color styles
pptx
- support for dynamic rows, columns generation
- add support for hyperlinks in loop
- use decodeURIComponentRecursive helper to handle better different cases of MS Programs storing encoding target urls
import-export
- make export to not commit transaction to improve performance in stores
4.4.0
highlights of updates
general updates
- docx: docxHtml support for padding, margin and border for table and cells, docxStyle can now be used in loops
- pdf-utils: improve support for external pdfs
- authenticated logged user can now be accessed in sandbox using
req.context.user - fixes for component recursive rendering
- fix set
res.meta.fileExtensionwithout starting.in office related extensions - all extensions dependencies were updated to ensure that we don't use vulnerable packages, so npm audit now reports 0 vulnerabilities in most cases
core
- fix
waitForAsyncHelper,waitForAsyncHelpersnot working with trustUserCode: true - expose safe properties of
req.context.userin sandbox - fix component execution when wrapped with async helper
- fix jsdom require in sandbox
studio
- fix getting studio preview as dark theme when using light theme
components
- fix recursive components async rendering when wrapped in async helper
authentication
- expose safe properties of
req.context.userin sandbox
docx
- add support for using docxStyle in loop
- docxHtml: fix icon used in third level of lists and don't break when rendering list with level greater than max level (9)
- improve error message when fetching images, include url to image in the message
- docxHtml: add padding, margin support for cells
- docxHtml: add border support for table, cell
- docxHtml: fix rendering multiple paragraphs in single cell
pdf-utils
- stop using pdfjs-dist for test parsing and use our implementation
- support external pdf with missing EOL after endstream improve merging pdf outlines
4.3.1
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
core
- fix recursive component rendering
reports
- fix url in the async response text
fs-store
- fix bug with transactions that takes long and locks
cli
- dont use console.error(e.stack) and just console.error(e) to avoid loosing e.cause inner error
docx
- docxHtml: fix title and list not working when having a wrapping
<p>tag
express
- update express, body-parser to fix npm audit
authentication
- update express, body-parser to fix npm audit