Release Documentation

Release Notes

Release 7.0.4

14th August 2019

  • XML Merge no longer produces a result with incorrect alignment when the inputs with duplicate keys are merged using ordered algorithm. This was customer support case CUST-33.

Release 7.0.3

3rd July 2019

  • Bug Fix: Parts of the DTD subset of input XML files were not preserved in the output of a merge operation. This issue has now been fixed.

Release 7.0.2

14th June 2019

  • Built-in XSLT filters of XML Merge no longer output run time warnings. This was customer support case CUST-40.
  • Bug Fix: An external parsed general entity declaration in the input XML was not preserved in the merge result. This issue has now been fixed. Note that the *resolved* system-id appears in the ENTITY declaration in the XML result.
  • Updates to allow restriction of delta results when running XML Merge REST with an evaluation license. This has unfortunately become necessary after abuse of our terms and conditions regarding evaluations.

Release 7.0.1

23rd May 2019

  • Bug Fix: When an element was copied in support of the 'element-splitting' feature, attributes on that element were not copied properly to the respective split elements. This issue has now been fixed. This was customer support case CUST-33.

Release 7.0.0

15th April 2019

Product Rebrand

The product has been renamed to XML Merge. This affects documentation content and URLs but not the API.

Dependency Changes

  • XML Merge now requires Java SE version 8.0 or later to run (using a JDK or JRE as appropriate).
  • XML Merge has been updated to use Saxon 9.8
  • XML Merge is now shipped with version 61.1 of icu4j, updated from version 52.1

JAR Versioning

  • The name for deltaxml-merge.jar now include the major.minor.patch version number. For example, deltaxml-merge-7.0.0.jar.

Enhancements

  • New Feature: XML Merge now has a REST API for performing merge. This feature is available if enabled in the license. Please contact DeltaXML to find out more about it.
  • New Feature: XML Merge now handles formatting element changes. The formatting elements can be specified using the PRE_FLATTENING extension point. There are four different formatting elements representations provided. These representations are DELTA_V_2_1, CONTENT_GROUP, OVERLAPPING_MILESTONES and NON_OVERLAPPING_MILESTONES.
  • New Feature: XML Merge now allows user to specify format extraction priority list to produce a deltaV2 result with no fragmentation by extracting formatting to resolve overlaps and nesting.
  • New Feature: As a part of rule processing, XML Merge now allows users to specify where formatting changes should be displayed.
  • New Feature: Improved whitespace processing to detect significant whitespace nodes more effectively. This was customer support case 513.
  • Enhancement: The performance of the ConcurrentMerge and ThreeWayMerge input pipelines has been improved by running the ancestor input chain just once.
  • Enhancement: Consistent enum naming convention across the XML Merge product. This change mainly affects the merge command line driver users.

Bug fixes

  • Bug Fix: XML Merge will no longer generate missing/duplicate HTML table rows if there is no row span change.
  • Bug Fix: SequentialMerge no longer produces incorrect results when the inputs have processing instructions or comments outside of the root element.

Documentation Changes

  • Much of our Release Documentation has now been moved to our web site.
  • Our code samples have been removed from the release, and moved to Bitbucket repositories. This allows us to easily add new samples or update existing ones without requiring a new XML Merge release.

Deprecation and API removals

  • Removed deprecated methods LicenseExpiredException.getLicenseExpiryDate(), LicenseNotYetValidException.getStartDate(), ThreeWayMerge.merge(InputStream, InputStream, InputStream, OutputStream, String) and ThreeWayMerge.merge(Reader, Reader, Reader, Writer, String).

Release 7.0.0 beta

21st March 2019

  • A beta release for selected customers for beta testing prior to the full 7.0.0 release.

Release 6.0.1

7th March 2018

  • Bug Fix: An Exception was thrown when an unchanged thead, tbody, or tfoot inside a modified table contained row spanning across multiple rows in that section. The bug has been fixed. This was customer support case 654.
  • Bug Fix: When CALS tables contain processing instructions, there was the possibility that processing them as part of the table processing caused an Exception in the 'cals-overlap' XSLT filter. The bug has now been fixed. This was customer support case 655.

Release 6.0

6th February 2018

Dependency Changes

  • DeltaXML Merge now requires JavaSE version 7.0 or later to run (using a JDK or JRE as appropriate).
  • DeltaXML Merge is now shipped with Saxon 9.8.0.5.
  • Distributed version of Apache Xerces updated to Xerces 2.11.0 from 2.9.0

Enhancements and bug fixes

  • A new class (SequentialMerge) has been introduced. This class supports n-way merging of the sequentially edited XML content (data or documents).
  • New Feature: Updates to allow restriction of delta results when running with an evaluation license. This has unfortunately become necessary after abuse of our terms and conditions regarding evaluations. Please see the XML Merge download page for more details on the nature of the restrictions.
  • New Feature: Added support for progress monitoring using a new MergeProgressListener interface.
  • New Feature: Changed syntax for command-line interface. This now supports ConcurrentMerge, SequentialMerge and ThreeWayMerge.
  • Enhancement: Added new option to indent the XML output of a merge operation. This was customer support case 549.
  • Enhancement: For ConcurrentMerge, merging of XML has been improved by ensuring that elements with sufficiently dissimilar content do not align. This feature is controlled via a new 'ElementSplitting' configuration.
  • Enhancement: Improved word-matching, this affects specific complex cases, and also improves the overall merge result. This was customer support case 537.
  • Enhancement: Performance improvements by using accumulators while applying keys. This was customer support case 625.
  • Improved CALS table processing performance.
  • Renamed package com.deltaxml.mergeinternals to com.deltaxml.mergecommon.

Release 5.3.3

5th July 2017

  • Bug Fix: DeltaXML Merge no longer throws an error during CALS table processing when morrows attribute value is 0. This was customer support case 548.
  • Bug Fix: DeltaXML Merge no longer throws an exception while generating ANALYZED DELTAV2 result, if there are added/deleted contents like processing instructions, comments or entities. This was customer support case 580.

Release 5.3.2

16th March 2017

  • New Feature: DeltaXML Merge no longer throws an error when the deltaxml.jar is added before the deltaxml-merge.jar on the classpath. This was affecting Eclipse users. This was customer support case 543.
  • New Feature: A new ignore/accept mode (ExistingOxygenTCsProcessingMode) introduced to process existing oxygen track changes processing instructions while generating oxygen track changes result.
  • Bug Fix: DeltaXML Merge no longer throws an exception while producing three way track changes result with inputs containing contents such as processing instructions, comments and entities. This was customer support case 532.

Release 5.3.1

23rd September 2016

  • Bug Fix: During rule-processing, the "display changes involving ..." settings were being incorrectly applied to content that was deleted in one version and modified in another. These were being incorrectly resolved as a deletion. This bug has now been fixed and these content items are correctly included as a conflict. This was customer support case 514.
  • Bug Fix: Minor updates to table processing in merge.
  • Bug Fix: The ThreeWayMerge class includes new merge methods that specify a systemId parameter for each input. These replace the now deprecated merge methods and systemIds are utilised correctly during the merge.
  • Deprecated: Merge methods from the ThreeWayMerge class that have only one systemId parameter have been deprecated. These methods may be removed in a future major release.

Release 4.3.1

23rd September 2016

  • Bug Fix: During rule-processing, the "display changes involving ..." settings were being incorrectly applied to content that was deleted in one version and modified in another. These were being incorrectly resolved as a deletion. This bug has now been fixed and these content items are correctly included as a conflict. This was customer support case 514.
  • Bug Fix: Minor updates to table processing in merge.
  • Bug Fix: The ThreeWayMerge class includes new merge methods that specify a systemId parameter for each input. These replace the now deprecated merge methods and systemIds are utilised correctly during the merge.
  • Deprecated: Merge methods from the ThreeWayMerge class that have only one systemId parameter have been deprecated. These methods may be removed in a future major release.

Release 5.3

27th June 2016

  • New Feature: Flexera License management is included in this release to support new named-user, server and concurrent server/user licensing systems. There are some API modifications to support new licensing system, but otherwise the release functionality should be equivalent to release 4.3

Release 4.3

14th June 2016

  • New Feature: DeltaXML Merge now supports intelligent table comparison for CALS tables, HTML tables and DITA simple tables
  • Bug Fix: DifferentRootElementException was thrown while adding an ancestor file which is the first file added to the merge. Ideally, the merge should not throw DifferentRootElementException during this process. This has now been fixed.
  • Bug Fix: The setThreeWayTrackChangeAtrributeMode and getThreeWayTrackChangeAtrributeMode methods have been renamed to setThreeWayTrackChangeAttributeMode and getThreeWayTrackChangeAttributeMode, fixing a typo in the name.

Release 4.2

22nd February 2016

  • Enhancement: Enable redistribution licensing by passing through the setRedistributionLicenseContent method to the API and associated web site changes to support building of redistribution licenses.
  • Enhancement: Reduction in Java heap memory requirements in order to allow garbage collection of intermediate objects. For some pipelines this can halve the heap space needed. The included deltaxml.jar corresponds to that used in Core version 7.1. This was customer support case 438.
  • Bug Fix: Fixed an error in the three-way tracked changes processing that was causing an Exception to be thrown when outputting certain change combinations. This was customer support case 462.
  • Bug Fix: When producing three-way-tc output with conflicting changes to an attribute value in TrackChangesAttributeMode.PREFIX mode, the author of the deletion of the ancestor version of the attribute is now correctly identified as both editors, rather than the ancestor.
  • Bug Fix: Three way track changes were producing incorrect results in case of complex addition in attributes. This has now been fixed. This was customer support case 446.
  • Bug Fix: The ThreeWayMerge.TrackChangesAtrributeMode enumeration has been renamed to TrackChangesAttributeMode, fixing a typo in the name.

Release 4.1

18th September 2015

  • New Feature: A new class (ThreeWayMerge) has been introduced. This provides easier to use facilities for the common three-way use case and additionally provides further three-way specific result types.
  • New Feature: New samples are provided to allow merge access from git and mercurial (hg) merge and update operations. These shell-script samples currently support the command-line client usage on a unix system. This was customer support case 345.
  • New Feature: A new, simplified result type has been introduced with the ThreeWayMerge class to provide a two-way result for the common case of branch merge. The simplification allows processing with familiar two-way processes and user interfaces such as two-way track-changes. However, in some cases information is lost that would otherwise be present in a three-way delta result. Command-line and sample code is provided to support these new representations.
  • New Feature: A new result format (the simplified delta) has been introduced. This format is designed to simplify the manual processing of conflicts and is available for both n-way and three-way merge processes.
  • New Feature: A three-way track-change result type has been introduced to the ThreeWayMerge class. This result provides oXygen track-change processing instructions which can be viewed and processed in oXygen author mode.
  • Enhancement: The rule based processing has been extended to allow a version priority list to be used to resolve conflict situations. The order of the versions in the provided list determines how conflicts are resolved.

Release 4.0.2

20th May 2015

  • Enhancement: The version of the saxon product included in this release has been upgraded to version 9.5.1.10 as this provides significant performance improvements for some data (providing a 10x speed improvement for one customer test case).
  • Bug Fix: The merge setExtensionPoint method was incorrectly obfuscated. This has been corrected by restructuring the way in which the merge product is provided as jar files. In this and future releases a jar file from the core product (deltaxml.jar) will provide access to FilterChain and other classes referenced and used by the merge jar file. In this merge release only the deltaxml.jar provided with the merge product should be used. However, it is intended to provide a degree of compatibility with several versions of the DeltaXML Core product in future releases for customers using both products in their Java classpaths.
  • Bug Fix: Certain attribute merge scenarios, with multiple attributes, caused duplication of the elements used to represent the changes within the deltaxml:attributes element. This has been corrected so that the children of deltaxml:attributes have unique names and namespaces.

Release 4.0.1

25th March 2015

  • Enhancement: The guides for change analysis and rule processing have been improved with more samples.
  • Enhancement: Some repetitive output in the command line usage message was reduced.
  • Enhancement: The default value of the debug parameter has been changed to false. This was reported when using the command-line tool.

Release 4.0

18th February 2015

This is the first release of a new generation of 'Merge' products. It is intended to follow on from the DeltaXML Sync product and its 3.0 release and this is why version numbering has started from 4.0

The architecture of DeltaXML Merge has major differences from the previous Sync products, this includes the ability to operate at word granularity, orderless merge and keying support, differences in output representation and output formats and a completely new API. Existing Sync users should contact us for migration assistance.