support for custom functions in report expressions;
this includes support for expression functions in the JDT, Groovy and Javascript
report compilers and excludes the JDK-based report compilers, for which static imports
would be needed in the report template;
custom serialization for virtualizers, to improve performance of large reports;... read more
enhanced support for markers in Google map component, including hyperlinks and info window;
completing features in new layered HTML exporter;
minor bug fixes and improvements;
eliminate empty collapsed columns in XLS/XLSX exporters;
XLS/XLSX data adapter improvements;
minor bug fixes and improvements;
improved report filling performance by extending the use of the simplified text measurer
that was previously used only for single line text elements;
improved subreport filling performance by using a thread pooling mechanism;
minor bug fixes and improvements;
enhanced interactivity in the table component, with support for conditional formatting
of values in a column;
support for style providers as pluggable extensions, to control report element styling
depending on report data at runtime; a default style provider implementation is available,
allowing the use of expression based custom properties at report element level, to control
each style attribute, including backcolor, forecolor, font, borders style, etc;... read more
improved performance for the newly introduced Javascript report compiler;
configuration properties to control table component interactive features;
minor bug fixes and improvements;
improved rendering performance for the table component;
enhanced interactive report viewer APIs;
new "net.sf.jasperreports.export.pdf.size.page.to.content" export configuration property added
to allow for variable page size in PDF documents, by adapting page size to page content size;
better control over memory footprint in large XLSX exports, by allowing the temporary files buffer size
to be configured locally through report custom properties;... read more
improved JasperReports configuration infrastructure by the introduction of a JasperReportsContext,
an new interface from where JR configuration properties are read and JR extensions are loaded.
This allows different configurations of the JR engine to exist simultaneously in the same JVM;
improved JasperReports Web Framework which now features a centralized controller to dispatch
actions triggered by end user interactions in the report viewer. Actions are backed by atomized
commands that modify the report metadata on-the-fly, with support for undo/redo operations,
to reflect changes in the report output;... read more
the JSON data source and the respective JSON query executer were moved
from the samples folder to the core library;
support for macros added in XLS and XSLX exporters;
the repository APIs were enhanced with support for pluggable persistence
services to load and store resources in the repository;
the "net.sf.jasperreports.export.pdf.force.linebreak.policy" configuration
property is un-deprecated, as a partial revert of the changes made in 4.1.1 with
regards to PDF text rendering; These changes were partially reverted as they affected
the performance of the PDF exporter when dealing with simple texts. The AWT-based text
rendering is now performed only on complex text fields that contain tab characters
for tab stop alignment or contain multiple paragraphs, with variable paragraph styling.... read more