Public

Release 2.0.116.0

Dec 21 2017
New

The JVM-based parsers (Java, C, C++) -as well as the external one- will now display more accurate error messages if an error is detected. Please have in mind that our bundled JVM-based parsers require JVM version 8 or higher!

Bug

SemanticSCM: An "Index was outside the bounds of the array" exception was thrown, caused by a problem in how the semantic differences were concurrently calculated. Fixed.

Bug

An exception with the message "specified argument was out of the range of valid values" appeared sometimes if the user switched quickly between file diffs. Fixed.

Bug

Semantic merge: A null exception was thrown sometimes trying to set the syntax language in the result textbox. Fixed.

Bug

A "Path cannot be null" exception was thrown when running a semantic merge that involved 3 text files and the "run the text merge tool" button was clicked. Fixed.

Bug

Semantic diff C#: some outline nodes (e.g. C# properties or regions) were not expanded even if they had differences. It was very uncomfortable. The user had to expand them manually in order to see the differences. Fixed.

Bug

A null exception was thrown when a changed-changed conflict was pending to solve and the result declaration was not present. Fixed.

Public

Release 2.0.107.0

May 17 2017
New

The semantic diffs navigation has been improved. Clicking on a method (or any other declaration) in the 'semantic outline' panel will automatically focus its first difference.

Also, the highlighting of the selected semantic difference has been improved, making clearer which word/lines have changed indeed.

New

The 'Parsing errors found' dialog is no longer shown at startup. If SemanticMerge detects parsing errors, a warning panel will be shown at the top of the tool. It will include a button to show a dialog detailing the errors that were found.

New

A new –nostructurewarn CLI argument was added to skip the structure errors dialog on startup and directly launch the associated text-based tool. This can be also applied as a persistent setting in the configuration window, "general" tab.

Bug

The delete/add of C++ 'include' statements was interpreted as a move/rename. Fixed.

Bug

The 2-way merge button was not launching the configured external tool. Fixed.

Bug

Typing paths enclosed within quotation marks in any of the textboxes of the "external tools" preferences tab caused the "ok" button to do nothing on click. Now, these quotation marks will be stripped when the "ok" button is clicked and the form validation will continue as expected.

Bug

Typos on the help text have been corrected. A description of what a "declaration" actually is has been added.

Bug

The C++ 'include' statement texts were being drawn outside its visual diff/merge containers. The text size has been reduced in that view, too.

Bug

The contributor contents (source, base, destination) weren't updated after a "recalculate merge" operation. Fixed.

Public

Release 2.0.99.0

Feb 17 2017
New

C++ language support is here for Windows users!

SemanticMerge understands your C++ code now 😉

This feature closes one of the most requested UserVoice features: C++ Support.

The C++ parser is released as a beta, so we'd love to have your feedback about things that don't work for you or any other suggestion.

Header files (*.h) are parsed by default as C code. If you are certain that this extension represents C++ code for your particular case, please use the "-l" command line option (e.g "-l=cplusplus").

New

SemanticDiff: A new 'copy to clipboard' button has been added to the Outline Panel. Clicking it will copy a text version of the outline tree into the clipboard.

New

External parsers: The default encoding is now taken into account by the external parsers. It can be specified using the tool configuration dialog or through the "-e" command line option.

New

External parsers: A verification process has been added in order to detect if some of the files can't have their structure properly recognized. In that case, you will be asked to continue with the configured external tool.

Public

Release 2.0.98.0

Jan 26 2017
New

Java 8 support for Windows platform.

New

Improved the declaration merge process to fix the indentation after merging automatically a declaration.

New

Mergetool: Now a conflict is automatically solved when the changes made by one of the contributors only involve empty lines.

Sample:

Base
    class MyClass
Source
    class MyClassRenamed
Destination
    class MyClass
    EOL
        
Bug

When there was a renamed - changed automatic conflict, with changes in the same line as the declaration name, an exception "An item with the same key has already been added" was thrown. Fixed.

Sample 1:

Base
    string BLOB_DATA_FILE_SIZE = "datafilesize";
Source
    string BLOB_DATA_FILE_SIZE = "datafilesizeingb";
Destination
    string BLOB_DATA_FILE_SIZE_KEY = "datafilesize";

Sample 2:

Base:
    void WriteFile(string confFilePath) {}
Source:
    void WriteFileOtherName(string confFilePath) {}
Destination:
    void WriteFile(string confFilePathOtherPath) {}

Bug

A null exception was thrown when a changed-changed conflict was solved removing the resulting declaration. Fixed.

Public

Release 2.0.96.0

Oct 25 2016
Bug

The launcher window raised an exception when the automatic option was combined with files without conflicts: "Value cannot be null. Parameter name: path". Fixed.

Bug

An exception "Collection was modified; enumeration operation may not execute" seldom appeared when loading C# or VisualBasic files. Fixed.