Enhancements
- command line 'version' option also prints license information
- command line options print license information if there is a license error (expired, framework not supported)
- alternate overview and individual report stylesheets (ahrts-report-alt.xsl and ahrts-individual-report-alt.xsl). Overview report has multi-column output and groups the results (fatal errors, missing input files, non-fatal errors, and no errors). Selectable as "Alternate" for "Overview Report Style" and "Individual Report Style" in the GUI settings form.
- documentation fixes
- Japanese locale translation
- 'new version' in command line help changed to 'new' to match baseline which isn't quoted
- command line option (-ot | -overview-title) to set the overview report title. This is listed as pdf document title and is also shown inside the report. The overview title is also available to individual report stylesheets.
- change timestamps so they are compatible with XSLT 2.0 format-dateTime(), requires Java 7 or greater
- add engine files for Formatter 6.3, 6.4, 6.5, and 6.5
- pdf information for base and new documents are passed as parameters to the individual report stylesheets. Available values: base-pdf-title, base-pdf-author, base-pdf-subject, base-pdf-keywords, base-pdf-creator, base-pdf-producer, base-pdf-creation-date, base-pdf-modification-date, base-pdf-trapped, and new-pdf-* equivalents
- each instance of ahrts creates its own temporary directory under the one specified in Properties.tmpDir
- positional input parameters added to English translation to let translators know that the order can be changed
- '-xsltparam
' command line option (pdf2pdf, img2img, and Compare scripts) to pass on variables to stylesheet report transformation - ahrts.generateReportForNoDifferences For test and directory comparisons this option will force the creation of an individual report even if no differences were found. This will also force the creation of a report if there was an error found with either input document. Rendered images are also saved and available as 'diff-image-orig-base' and 'diff-image-orig-new' in the report xml.
- Language files automatically loaded based on user's Locale settings. This can also be set in the Java command line. Ex: java -Duser.country=CA -Duser.language=fr.
- default tmpDir changed to C:\tmp (Windows) and /tmp (Unix)
- locale settings (lowercase two letter language, uppercase two letter country) passed on to report stylesheets using "locale-language" and "locale-country" parameters
- ahrts properties (reportPageWidth and reportPageHeight) to customize report page width and height
- xml catalog file stylesheet support. Catalogs settings uses Java system properties (xml.catalog.files, xml.catalog.prefer, xml.catalog.verbosity, xml.catalog.staticCatalog, xml.catalog.allowPI, xml.catalog.className, xml.catalog.ignoreMissing). See xml-commons-resolver-1.2/docs/resolver.html for more information. If xml.catalog.files is not set catalog support is disabled.
- show xslt error messages in the gui
Corrections
- image scaling option could incorrectly set the new width or height to 0
- Formatter output report error could incorrectly report 'Cannot remove temporary file' instead of the real cause of the failure, requires updating minimum Java requirement to version 7
- formatting error was only detected if the output file wasn't created, it wasn't detected if an error occured and a partial pdf output file was created
- java date format string set incorrectly (would result in incorrect timestamps in debug output).
- relative links for '-b' and '-n' with pdf2pdf and img2img command line scripts wouldn't embed the original documents
- debug and console output was mixing Unix and Windows new line markers together
- 'make test cases' wasn't catching MalformedByteSequenceException when loading the fo files
- additional parameters to command line options were being parsed as command line options as well
- 'make test cases' wasn't catching generic SAXExceptions
- 'make test cases' wasn't handling io exceptions with scala xml.load()
- an xslt error would make the gui unresponsive
- xslt errors weren't being logged
- xslt error could still report that the fo creation was successfull if there was an fo present from an older comparison
- gui hang if error happened in safeXMLSave()
- xml loading function didn't close input stream
- comparison xml filename for pdf2pdf and img2img uses the document filenames in the template (Ex: Manual-Edition1.pdf_vs_Manual-Edition2.pdf.xml) this can easily lead to the name length going over the os limit. Changed to base_vs_new.xml for every comparison.
- typo in command line help (tokeninzed : tokenized)
- invalid temporary file directory would hang gui
- missing file save dialog when right-click saving reports
- test result xml date format using incorrect milliseconds token
- issue warning if temporary directory couldn't be created
- createTempDir() wasn't using Properties.tmpDir setting
- java File.createTempFile() wasn't specifying Properties.tmpDir
- gui hang if img2img comparison couldn't create temporary files
- net.sf.saxon.trans.XPathException wasn't being caught
- gui hang if rendering engine in queue list isn't valid
- multiple users using the same Properties.tmpDir could lead to write permissions problems
- cancelled or interrupted comparison wouldn't delete temporary render images
- report file save dialog wasn't updating the last saved directory
- missing prompt to ovewrite file when saving report from GUI
- command line options couldn't be specified more than once (would always use the value of the first one)
- About tab and command line license information didn't show start date
- typo in License error message
- useSingleFinalReportFile misnamed in installed properties file
- put command line descriptions on their own line
- pdf2pdf and img2img command line programs create separate temporary directories so that multiple instances can be run at the same time. User should make sure '-report-file' option points to unique file. The old behavior of saving all the intermediary comparison files can be enabled with the '-disable-temporary-output' command line option.