DeltaXML Core Release Notes


Table of Contents

Release 4.5
Release 4.4
Release 4.3.6
Release 4.3.5
Release 4.3.4
Release 4.3.3
Release 4.3.2
Release 4.3.1
Release 4.3
Release 4.2.1
Release 4.2
Release 4.1.2
Release 4.1.1
Release 4.1
Release 4.0
Release 3.1.2
Release 3.1.1
Release 4.0.b1
Release 3.1
Release 3.0
Release 3.0 beta 6
Release 3.0 beta 5
Release 3.0 beta 4
Release 2.8.2
Release 2.8.1
Release 2.8
Release 2.7.1

Release 4.5

12th December 2007

  • Bug Fix: Resolve issues with Enterprise releases reporting 'corrupt license' problems by proving a new license management implementation which reduces exposure to bugs in the Java platform APIs.
  • Enchancement: Performance improvement in the enhanced matcher. On a fairly critical path there was some code which tested for contains() on a List and then did a get(); these operations are now merged.
  • Enchancement: The Orphaned word filter only considered PCDATAModify elements surrounding unchanged words when determening orphan candidates. It now also considers added and deleted words making it more generally applicable.

Release 4.4

22nd August 2007

  • New Feature: Added Enhanced Match 2. This is a new matching algorithm based on the Enhanced Matcher 1. See the com.deltaxml.api package description for more details.
  • Bug Fix: Stopped the Enhanced Matcher 1 from attempting to match elements with keys. These will already have matched and this behaviour can slow the matcher down.
  • New Feature: Added com.deltaxml.pipe.filters.OrphanedWordOutfilter. See filter javadoc for more details.
  • Enhancement: Added URIResolver and EntityResolver support to command line tool. See the command line tool readme for more details.

Release 4.3.6

20th August 2007

  • Bug fix: Resolved classloading and bean decoding issues when deltaxml.jar is used in conjunction with other software (eg: Alfresco) which also uses the TrueLicense APIs.

Release 4.3.5

6th July 2007

  • Enhancement: Improved punctuation support in WordByWordInfilter.java. The definition of punctuation is now one, or more of the set of punctuation characters, preceded or followed by whitespace or those which appear at the start of end of character data.
  • Enhancement: Experimental support for character based splitting in WordByWord infilter. A parameter can now be used to split every character into a word element (for recombination by WordByWordOutfilter1). This parameter disables this experimental functionality by default and should not affected existing pipelines/users.

Release 4.3.4

29th June 2007

  • Enhancement: Added URIResolver support to PipelinedComparator and DXPConfiguration.

Release 4.3.3

25th April 2007

  • Enhancement: Added RemoveExchange filter in Java. This is equivalent to remove-exchange.xsl in the xsl samples folder
  • Bug Fix: Modified package sealing so that deltaxml.jar and sync.jar can be used by the same classloader
  • Bug Fix: Improved error handling. SAXParseExceptions that occur in pipeline components before the comparator are now reported to the comparator ErrorListener

Release 4.3.2

2nd April 2007

  • Enhancement: Added a license activation gui tool to facilitate license activation

Release 4.3.1

22nd March 2007

  • Bug Fix: Fixed a bug that sometimes occurred when activating a licence file

Release 4.3

20th March 2007

  • Enhancement: New licensing model that requires activation of license files sent as email attachments

Release 4.2.1

6th March 2007

  • Bug Fix: Changes made to WordByWord filters in version 4.1 were causing enhanced matching to be less effective. This has been fixed by altering the enhanced matching algorithm. 'Paragraph' level alignment should now be identical to version 4.0.

Release 4.2

13th February 2007

  • Enhancement: Improved the error handling mechanisms for com.deltaxml.api.ComparatorFilter
  • Documentation Fix: example commands for producing a delta file to use for recombination were incorrect
  • Bug Fix: Word By Word filters were removing elements in the deltaxml namespace from the resulting delta (such as deltaxml:line, used in the DocBook pipeline)
  • Enhancement: Improved the operation of the Enhanced Matcher. Changes made to Word By Word filtering in 4.1 caused problems in some situations.
  • New Feature: Added a DocBook comparison pipeline (compare-docbook.dxp).
  • Enhancement: Changes to DocBook filters to improve the DocBook pipeline. Notably:

    • docbook-infilter.xsl fails if an input contains revisionflag attributes
    • docbook-infilter.xsl fails if an input contains non-unique id attributes
    • docbook-outfilter.xsl uses revisionflag="changed" more correctly
    • New output filter docbook-unique-ids.xsl that resolves id conflicts in a result file.
  • Bug Fix: command line processor did not find dxp files located in the installation directory.

Release 4.1.2

18th January 2007

  • Enhancement: namespace prefixes. The comparator will now output an anonymous namespace if this is appropriate. In many cases, this will remove the use of 'p0' prefixes in the output.
  • Bug fix: multiple anonymous namespace mappings. The comparator would previously read an unprefixed namespace bound to the empty string URI (xmlns=''); the delta output would then, in certain circumstances, contain the empty string URI bound to a namespace prefix (xmlns:p0='') which is an invalid XML result.
  • Bug fix: xhtml-outfilter.xsl Fixed a bug where a format and content change was marked as a format-only change.
  • Bug fix: ComparatorFilter. Fixed an error handling bug to support the use of rethrowing error handlers with ComparatorFilter.
  • Enhancement: added InvalidPipelineException, a subclass of DXPConfigurationException that is thrown when attempting to generate a PipelinedComparator from a dxp file whose root is not comparatorPipeline.
  • Enhancement: WordByWord filters now differentiate between punctuation and text. This means that changing 'word' to 'word,' is an addition operation rather than a modification.
  • Bug fix: spaces in path names on MS Windows when saving results to file were replaced with '%20'. Shipping with Saxon 6.5.5 rather than 6.5.4 fixes this.
  • Enhancement: command-line tool. Improved error reporting when problems are encountered with loading dxp files.
  • Enhancement: added remove-exchange.xsl filter. This converts deltaxml:exchange elements into added/deleted elements or deltaxml:PCDATAmodify as appropriate.

Release 4.1.1

12th August 2006

  • Bug fix: method signature for the attribute normalization parameter of the NormalizeSpace filter improved.
  • Bug fix: Changed CSS class ids in deltaxml-folding-html.xsl to ones less likely to cause clashes.
  • Enhancement: The display of 'buttons' in the xhtml-outfilter.xsl can be controlled via a parameter.
  • Bug fix: Output file extension in the compare-xhtml.dxp pipeline changed from 'xhtml' to 'html' for better compatibility with InternetExplorer.
  • Enhancement: Initial collapsed/expanded state of unchanged elements in deltaxml-folding-html.xsl can be controlled via a parameter.
  • Bug fix: Change in Classloader behaviour when loading filters described as DXP resources. Now using the current classloader.

Release 4.1

14th June 2006

  • Improved enhanced matcher documentation in com.deltaxml.api package docs. Now includes runtime and memory warning/advice.
  • A 'pull mode' comparator is provided, see the class: com.deltaxml.api.XMLComparatorFilter. This allows multiple comparators to be used in a SAX pipeline.
  • Increased capacity: the data structures used to represent the input files/streams have a 16 fold capacity increase. They now support, for example, in the optimum case, 230-1 elements or a 'giga-element' capacity.

    This large capacity has only been achieved in practice using Sun's Java SE 6.0 beta release. When tested with J2SE 5.0 releases an OutOfMemoryError with message detail: 'Requested array size exceeds VM limit' was produced before the new maximum capacity could be reached, even when plenty of RAM was available and with various JVM and Garbage collector settings.

  • Improved matching is provided for inline document formatting elements in the WordByWord filters. This mechanism relies on a new attribute deltaxml:format. The XHTML filters and the XHTML pipeline included in the commandline and GUI tools have been enhanced to make use of this new functionality. This capability is only applicable when full-context deltas are being used.

    The XSLT versions of the word-by-word filters have been retired in favour of the Java versions. The Java versions offer much better performance and reduced memory footprint. The XSLT versions are no longer included in the release, but support will be continued for customers still using them in production settings.

  • Asymmetric input pipelines are now supported in the com.deltaxml.core.PipelinedComparator class and in DXP files.

Release 4.0

5th April 2006

  • The enhanced (4.0.b1) matching algorithm is now the default behaviour. The associated Feature setting (please see the javadoc package overview page for the com.deltaxml.api package) has been retained for 3.x backwards compatible behaviour.
  • Merged 3.1.1 and 3.1.2 bug fixes into 4.0 branch.

Planned changes for a future release (Please Note):

  • API incompatible changes, such as the removal of currently deprecated interfaces (particularly RunnableComparators/Combiners and Briefcases), may be made in a future major release. Please check for use of any deprecated interfaces and discuss any concerns with DeltaXML support.

Release 3.1.2

31st March 2006

  • Bug fix with credit assignment and usage logging with the WebService release.

Release 3.1.1

3rd March 2006

  • Bug fix for DeltaWing (now version 2.1) for screen refresh problems on Windows XP

Release 4.0.b1

24th February 2006

  • Added document-mode enhanced matching algorithm, controllable with new feature setting.
  • Internal data structure redesign/refactoring in preparation for new datastores and also external data store integration.

Release 3.1

24th February 2006

  • Improved HTML difference report filter using JavaScript to allow collapse/expand of the Nodes in an XML tree.
  • A new (2.0) release of the DeltaWing GUI application, using browser/editor call-out techniques for results viewing of HTML and XML data.
  • User configurable/extensible pipelines (using DXP configuration files) in DeltaWing and Command-line processor. The DXP configuration mechanism is also available for embeddeding in Java appications through new classes in the com.deltaxml.core package.
  • Better error reporting of missing FEATURE problems in the PipelinedComparator constructor.
  • Bug/performance fixes to various filters:

    • Changes to xhtml-outfilter.xsl including corrected CSS classnames to avoid differences being misreported and removal of deltaxml attributes from the result.
    • Improved added/deleted whitespace handling in WordByWordOutfilter1.java and word-by-word-outfilter1.xsl.
    • Improved performance of NormalizeSpace.java filter by avoiding use of Java regular expression code.

The following features are provided for the WebService release (the default evaluation download):

  • DeltaWing now works with the WebService release, providing easy to use pipelines and extensibility mechanisms
  • Improved error detection and reporting of certain WebService failures such as unknown username or expired and exhausted credits

Release 3.0

7th September 2005

  • Same as 3.0.b6 release candidate.

Release 3.0 beta 6

23rd August 2005

  • Updates to new Docbook generated website documentation locations.
  • Resolved issue with deltaxml-soa.jar not providing similar DTD/ignorable-whitespace semantics to the local release.
  • Updated included verisons of Saxon and Xerces-J to 6.5.4 and 2.7.1 respectively.
  • Includes serializer.jar from Xalan-J 2.7.0 to support result viewing in DeltaWing when used on J2SE 5.0.

Release 3.0 beta 5

19th August 2005

  • Support for comparison using a SOAP webservice instead of local comparison.

Release 3.0 beta 4

26th July 2005

  • Push and Pull mode filtering in Java giving much improved performance, and including:

    • A new package (com.deltaxml.core) to provide easier pipeline construction.
    • A support package for 'push mode' SAX event filtering in Java (com.deltaxml.pipe).
    • A number of Java filter implementations (com.deltaxml.pipe.filters).
  • Restructuring of the release: samples in subdirectories and source.zip
  • Included XSLT processor is now Saxon, Xerces-J is also provided for parsing support.
  • Most documentation converted to docbook/HTML.

Release 2.8.2

10th August 2004

  • The orderless recombine algorithm has been overhauled, this should fix the known issues (described in 2.8 below) and also provide better run-time performance.
  • The (run-time) performance when loading XML datasets containing large numbers of distinct PCDATA and attribute values has been optimized. For 'pathalogical' cases this can result in a 20x run-time speed improvement.
  • DeltaWing now supports user selectable input filters. Two simple filters are provided in the default build; users can also customize the number and types of filters used when rebuilding.

Release 2.8.1

19th April 2004

  • Rendering improvements in DeltaWing (workarounds for Swing's HTMLEditorPanel bugs, such as not considering newline in PCDATA as whitespace).
  • Updated copyright year output in java -jar deltaxml.jar
  • Bug 120 was incorrectly reported as fixed in 2.7, now fixed

Release 2.8

26th March 2004

  • DeltaWing changes including:

    • better layout management giving more reliable resizing on different platforms,
    • selection of changes display mode
    • option to save HTML 3.2 result
  • Supply compiled version of DeltaWing in top level directory and simplifications to source code build process (no longer uses 'burn-in', instead includes XSLT scripts directly in deltawing.jar)
  • Samples directory overhaul, including:

    • Use latest versions of normalize-space.xsl and deltaxml-tables.xsl with Advanced.java rather than outdated infilter.xsl etc.
    • Use new simpler example files (demo1.xml and demo2.xml)
    • Change Ant build script to use Saxon - works better with filters.
    • README.txt gives JDK1.4 examples only, other compile/run examples moved to source code comments.
  • Bug fix 121 - IndexOutOfBoundsException when reporting errors if one of the comparison inputs is a delta file, now only produces a single fatal error when comparing delta files.
  • Bug fix 122 - Reduced memory consumption for large multi-line PCDATA sections.
  • Changed the semantics of error 47 (no PCDATA in orderless elements), now any PCDATA, not just non-whitespace PCDATA, in an orderless element is reported as an error. This is more inline with the wording of the error message and also the compare/recombine semantics necessary for 'round-tripping'.
  • Tutorial is now supplied only in HTML form, not as pdf files or zip files, which are still available from the website.
  • Errors which were previously reporting error code zero have been changed to provide new unique error codes, this change is needed in order to support better error reporting when a comparator is used internally by the upcoming sync product.
  • 'Nag messages' for evaluation releases are produced only 2 days prior to expiry, message is shorter (no details of evaluation user - can still be obtained via java -jar deltaxml.jar).
  • Known Issues:

    • recombine of orderless elements may produce incorrect results in certain cases
    • SAXResult output from an XMLCombiner is incorrect in certain cases, StreamResult should always be correct

Release 2.7.1

19th January 2004

  • Removed comment wrappers for CSS style info in xhtml-outfilter.xsl (used internally by command.jar) because of compatability issues in recent browsers.
  • Provided new API method: public boolean Comparator.isEqual(Source, Source) for fast return of boolean result.