AHRTS V1.4 is now available.

April 11, 2017

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.