JDiff is a tool which performs folder recursive comparisons and file comparison based on Myer's minimum set of differences algorithm. Based on this file comparison algorithm, it also provides a 3-way merge, which can run without a graphical interface. JDiff is released as an auto-executable jar file.
Oxygen XML Diff is a complete solution for comparing and merging XML files. It offers both directory and file comparison, six different diff algorithms, and multiple levels of comparison. The comparison can also be performed inside ZIP-based archives (ZIP, JAR, ODF, OOXML). Oxygen XML Diff includes two specialized XML-aware comparison algorithms: XML Accurate, tuned for precise comparison, and XML Fast, tuned for speed at the expense of some accuracy.
Replo is a cross-platform utility for performing syntactically-aware diff, find, and replace operations. It is similar to IntelliJ's "structural find and replace" feature but allows for configurable grammars. With Replo, users can compare, detect, and replace idiomatic structures without worrying about irrelevant stylistic inconsistencies. Common grammars (e.g. C, C++, C#, Java, Ruby) are provided, but users can also leverage ANTLR to define their own.
DiffKit is an application and a framework, for comparing two tables of data, field-by-field. The tables can come from any of a number of sources, such as an RDBMS or CSV file, and DiffKit is able to mix different kinds of sources in the same diff operation. It is like the Unix diff utility, but for tables instead of lines of text. Diffs can be reported at both the row and field level, and the user can configure what to compare, how to compare it, what to ignore). DiffKit is highly customizable with respect to the sources of tabular data, the details of the comparison, and the characteristics of the output (diff report).
SafePatch lets you edit program files and track those changes creating "patches" which can later be reverted or reused in a different setup. It's written in PHP, but can patch non-PHP applications because no integration into their source code is required. A bundled Control Panel allows easy tracking, installing, reverting, and diffing of available patches. SafePatch has an intuitive text patch file syntax which is uniform for text and binary files and independent of the engine being patched, has default support for VQMod .xml patches and FluxBB README mods, is written in OOP and uses events (and thus is easily extensible), and doesn't need a database.