4.4.0 20230716 BF: Maven: Update of dependencies CR: Service: Optimization of the use of HTML-Entities e.g.   ... previously caused XML errors in the renderer 4.3.0 20221127 BF: Build: Optimization/correction of the release info process BF: Build: Added test before release BF: Maven: Update of dependencies CVE-2022-42004, CVE-2022-42003 CR: Template: Added methods to customize document and/or pages - for signatures, encryption, annotations, ... - to manipulate, filter, sort, remove, add, ... 4.2.0 20220811 BF: Review: Optimizations BF: Generator: Correction when parsing structures Structures deeper 65535 levels no longer cause an exception. CR: Change from wording segment, which is now called structure CR: Generator: Added placeholder syntax for disposable structures e.g. #[scope{{...}}] Disposable structures are bound to their place and, unlike a normal structure, can be defined differently multiple times, but cannot be reused or extracted based on their identifier. CR: Generator: Added structures for single values e.g. #[price[[Your price #[#] Euro]]] #[price{{Your price #[#] Euro}}] Previously, single values was output directly. Now a structure can be used here as well. For single value, the additional placeholder #[#] was introduced. These structures can also be used to replace the exists placeholder and for conditional output of static text. e.g. #[value[[text output only if value exists]]] #[value{{text output only if value exists}}] Placeholders for static texts can be used from. e.g. #[price[[Your price #[#] ![currency]]]] #[price{{Your price #[#] ![currency]}}] CR: Generator: Placeholder identifier conventions optimized Optimized for the conventions for variables in Java. Identifier can start and end with characters: a-z A-Z _ $ in between the characters: a-z A-Z _ - $ can be used. 4.1.2 20220713 BF: Build: Optimization of the release info process BF: Maven: Update of dependencies BF: Template: Correction for handling unexpected data type in data map e.g. Collection with Integer caused errors 4.1.1 20220327 BF: Maven: Update of dependencies CVE-2020-36518 BF: Build: Optimization of the release info process CR: OpenHtmlToPdf: Update to version 1.0.10 CR: Releases only as attachments on the GitHub release page Otherwise the download during cloning will be too large. 4.1.0 20210924 BF: Maven: Update of dependencies BF: Review: Optimization (code + tests) CR: OpenHtmlToPdf: Update to version 1.0.9 CR: Java: Switch to version 11 CR: Preview: Added argument/option/keyword/... @Resources In addition to paths/filters/globs, @Resources can also be used to scan the classpath. Without arguments @Resources is used as default. When using paths without @Resources, the classpath is not scanned. CR: Designer: Added argument/option/keyword/... @Resources In addition to paths/filters/globs, @Resources can also be used to scan the classpath. Without arguments @Resources is used as default. When using paths without @Resources, the classpath is not scanned. CR: Maven: Added static code analysis CR: Template: Optimization of @Resources, class need not be public 4.0.3 20200830 BF: Service: Optimization of the code BF: Template: Correction/optimization of exists-placeholder Exists placeholders are only created if the value is not null, not empty and not blank. BF: Template Preview Properties: Correction of the logic during parsing BF: JUnit: Cleanup of JUnit4 BF: Maven: Minimization and update dependencies 4.0.2 20200711 BF: Generator: Correction of expensive/hungry RegExp BF: Template: Correction of expensive/hungry RegExp 4.0.1 20200709 BF: Template: Correction of Unicode support better support/correction e.g. for Japanese and Korean 4.0.0 20200704 BF: Generator: Correction of errors due to duplicate map entries Occurs when the map entries are made case-insensitive. BF: Service Render: Correction of errors if the template contains no header and no footer BF: Service Multiplex: Correction of the error-causing indentation of XML documents BF: Template Generate: Correction of errors due to duplicate map entries Occurs when the map entries are made case-insensitive. CR: Compare: Integral part of the API and PDF Tools PDF Tools: Compare, Designer, Preview CR: Compare: Optimization of the output of differences - Gray: the original/no difference - Blue: only in the compare - Green: only in the master - Yellow: nowhere (overlapping) - Red: difference between master and compare CR: PDF Tools: Integrated as standalone Java application usage: java -cp seanox-pdf-tools.jar com.seanox.pdf.Compare java -cp seanox-pdf-tools.jar com.seanox.pdf.Designer ... java -cp seanox-pdf-tools.jar com.seanox.pdf.Preview ... CR: Service Meta: Added more variants of the constructor CR: Service Meta Static: Update to use Map instead of Map CR: Template Scan: Omission of final attribute in the access modifier CR: Template Render: Omission of final attribute in the access modifier Enables the preparation/customization of the meta-object before rendering. The rendering is done in three steps (content, header, footer) and so this can be done once for all steps. CR: Template Multiplex: Change from access modifier to public CR: Template Merge: Change from access modifier to public CR: Template Type: Refactored/moved Type to Template.Type CR: Template Generate: Unified behavior of data placeholders and static placeholders - Placeholders are case insensitive - Placeholders are limited to the following characters: a-z A-Z 0-9 _- - Placeholders must begin with a letter - Placeholders cannot be inserted subsequently - Placeholders without value are removed at the end CR: Template Preview: Separation when loading data and statics for the preview There is still one properties file used for both. But now there are two separate methods to get the data and statics. CR: Template Preview Properties: Omission of the prefix 'static' Data and static use the same data/properties. Data uses all data as a structured map. Statics used only non-structured keys, without dot and list index as a flat map. CR: Template Statics: Added of the exists pendants CR: Maven: Update of dependencies 3.7.3 20200530 BF: Template: Correction of case insensitive statics CR: Test: Added a pixel based comparison of the PDFs 3.7.2 20200530 BF: Template: Optimization of the statics for case insensitivity BF: Template: Correction/optimization for markup detection and escape BF: Test: Correction of JUnit5 CR: Maven: Update of dependencies CR: Generator: Optimization of the code 3.7.1.1 20200510 BF: Service: Correction of deprecated code BF: Service: Correction of unclosed documents BF: Template: Correction/optimization for markup detection and escape BF: UsageTemplate: Correction CR: Maven: Minimization of dependencies 3.7.0 20200420 CR: Service: Added support of data type Markup for values Service.Meta.data + Service.Meta.data.statics have been changed to the use of CharSequence. At the end, a CharSequence is now expected as value instead of a string, which can also be a string. CR: Service Template: Added support of data type Markup for values Template provides a new Markup object based on CharSequence. CharSequence of type markup work like string values, but there is no escape of HTML symbols. CR: Service Template Mockup: Added support for markup in properties If the value contains one of the following sequences of characters: <.../> >...