Saturday, August 05, 2017

Inline Fuzzy Matching in the next ExamDiff Pro

In the next ExamDiff Pro we will be introducing a new and improved method for fuzzy string matching in inline text comparison.

Below you can see how inline word comparison works in the current version of ExamDiff Pro. Inline matching of word differences is done in a positional manner. As you can see, the comparison did not match "Athenian sailors" with "Athenan sailords" on line 1, but rather with "more Athenan" and simply marked "sailords" as deleted. Similarly, on line 2, "incomplete medieval" was not properly matched with "incomplte [enormous] medievall".

With the addition of inline fuzzy string matching, these previously incorrect comparisons are now properly matched. As can be seen below, "Athenian sailors" was matched correctly and "more" was properly marked as added. On line 2, "enormous" was marked as added and "incomplete medieval" was correctly matched.

Note that inline fuzzy matching is controlled by the same options that control fuzzy line comparison, under Options | Text Compare | Advanced.

Wednesday, March 01, 2017

ExamDiff Pro 9.0 Beta!

You can download ExamDiff Pro 9.0 Beta for 32-bit Windows and for 64-bit Windows. The upgrade is free for all users who purchased ExamDiff Pro less than 12 months before this release. See the bottom of this email for upgrade instructions.

Here's what's new in ExamDiff Pro 9.0 (as compared to 8.0):

Updated User Interface

In this release of ExamDiff Pro gets a significantly updated user interface with a greatly improved and modernized look and feel. Along with a generally enhanced user experience, ExamDiff Pro 9.0 features multiple, movable toolbars, better customization options, new toolbar and menu icons, and a new output log pane.

One very useful new and much-requested feature is fast binary comparison mode (byte-by-byte comparison). When activated, ExamDiff Pro will simply compare each byte of one file with the corresponding byte of another file, rather than executing the diff algorithm, which is much faster and allows to show the hex memory addresses of each row of bytes.

In version 9.0 we are be making a variety of improvements to three-way diff and merge, including the ability to diff without merging, more ignore options, and general improvements to merge performance.

Saturday, December 31, 2016

Better Detection of Programming Languages Comments in the next ExamDiff Pro

A much requested improvement that we will be introducing in the next version of ExamDiff Pro is better detection of comments in various programming language to allow for better and precise ignoring of these comments.

In the past, comments would be detected by programming language specific regular expression patterns. Unfortunately, this method is insufficient for detecting comments in several programming languages and use cases. For example, in previous versions of ExamDiff Pro, a URL string that includes "http://" would mark everything after the two slashes as comments in languages that use that character combination to denote single line comments. This problem can be seen below:

In the next ExamDiff Pro, comments for various syntaxes are no longer parsed with regular expressions, but rather using a programming language specific code parser, the same one that used to provide syntax highlighting. As a result, these failures of regular expression matching will be fixed in newer versions of our software. The same case that caused the previous version to fail can be seen working correctly below:

Friday, November 25, 2016

Improvements to Merge in the next ExamDiff Pro

In the next ExamDiff Pro we will be making a variety of improvements to three-way diff and merge, including the ability to diff without merging, more ignore options, and general improvements to merge performance.

Three-Way Diff Without Merge

One of the new features coming to merge in ExamDiff Pro is the ability to use the three-way diff feature without having to merge to an output file. This can be done by checking the Diff Only checkbox in the comparison dialog, as shown below.

The result of using this option can be seen as follows:

Additional Ignore Options

Another new merge feature is the addition of several new advanced ignore options. These options have existed in 2-way diff for a long time and they can now be used in three-way diff and merge as well. These include case ignore settings and options to ignore parts of lines. These new options can be seen below, in the Text Merge section of the Options dialog.

Below we see the results of having entered "outcome|result" in the Parts matching regular expression text box. As seen below, on lines 8-9-7, the difference between the two lines is ignored as the only difference is the use of the words "outcome" and "result".

Improved Performance

In addition to the above features, several general improvements have been made to the performance of three-way diff and merge operations.