Menu

tkdiff / News: Recent posts

Official TkDiff Version 5.7 is released

Version 5.7 repairs a moderately significant problem of "loss of inline highlighting" to a certain individual line of any Diff region exhibiting the property of having "exactly 1 line greater than somemultiple of five" that should contain highlights. Although the predictability of this line is explainable (see Ticket #97 for additional details ), it is difficult enough to visually anticipate the errant behavior, making this repair release warranted. Naturally, any other outstanding items, as outlined in the accompanying CHANGELOG.txt file have been included as well, most of which were virtually insignificant and/or completely internal.... read more

Posted by michael-m 2024-05-12

Official TkDiff Version 5.6 Released

This is a minor stabilizing release, primarily one fix and one new feature. The new feature enables possible directory recursion in the case where ONLY a single directory was provided as input (and thus expects the SCM to provide the file to compare with). While not something that most SCM usage has a need for, the Vpath SCM can require this if the organization of the files happens to be a tree. Nevertheless, it will work for other SCMs, but will DO so by enumerating every file that can be found in its sandbox - potentially a VERY large number of candidates - unlike the input case of TWO directories (which generally weeds out pairings with no changes)! Naturally, the Help information has been adjusted as well to account for all of this.... read more

Posted by michael-m 2022-11-09

Official TkDiff Version 5.5.3 Released

Yet another crash-condition has been eliminated. This time it involved the optionally-configured command line parameter "-P PrefFilename" which was hiding a syntax killing typo. But this quick-fix release ALSO repairs a logic flaw (of TWO earlier quick-fix attempts) that had not solved but merely moved a problem of identifying proper VPATH revisions. That movement (while appearing to work for VPATHing) had simultaneously deactivated recognizing the "2 revision values with a SINGLE Filespec" input pattern for ALL other SCM instances! - clearly NOT what was intended.
We strongly recommend that anyone using an earlier V5.5.X point release upgrade to this version as soon as convenient to avoid this issue.

Posted by michael-m 2022-10-12

Official TkDiff Version 5.5.2 Released

Owing to a user-identified set of crash conditions, there is yet a second "quick-fix" release being made. This time, the area affected involves startup situations that request any of the "inquiry-available" SCMs to nominate files that appear changed relative to a possibly stated revision point or range. As we equate a crash as being dead in the water, this rapid release is the result; our apologies to those who have just recently upgraded for the inconvenient thrash.

Posted by michael-m 2022-08-31

Official TkDiff Version 5.5.1 Released

This quick-fix release alleviates potential crashes caused by missing logic when trying to utilize an older Preference File during startup of the latest software version. Not ALL combinations of "old" Pref-files versus "new" software were affected, and eliminating the prior file and generating a brand new one was a possible way to circumvent the issue; but as the problem was only weeks old, a replacement release felt appropriate. Our sincere apologies to those who just completed installing the prior version.

Posted by michael-m 2022-08-19

Official TkDiff Version 5.5 Released

In actuality, the release itself was about a week ago (03Aug2022), but circumstances prevented the timely release of this notice at that time. Nevertheless it is out, and is primarily a defect repair release, at least as viewed from a User point-of-view. Fixes include a misnamed variable reference that led to illogical 'blanks-suppression' displays during inline highlighting; revising code to avoid a race condition during the construction of the main display; repaired uniqueness of menu accelerators, and a loosening of restrictions for the POPUP Menu regarding where it can be invoked (now works over scrollbars/labels PROVIDED they have a Left/Right connotation.
In terms of NEW abilities, the changes are fairly subtle: The most visible is a new display within the status bar that provides a readout on how the "merges" are distributed relative to their Left or Right nature, which serves two purposes. One is that you can readily identify which side is contributing the majority (and hence agrees - or not - with the INTENT of the merge overall); but it also serves as a reminder of how much work may have ALREADY been done in selecting merge choices - and thus how much could be LOST should you cause a NEW Diff operation to become triggered. To further enhance this WARNING aspect, the user actions that can CAUSE such an inadvertent "Diff" to occur, will now precipitate a warning highlight to occur FIRST, allowing the user to think twice before finalizing the action. Of lesser concern to the average user, there is also a new category of Preferences, that deals with HOW TkDiff integrates and interfaces to the underlying Diff tool it relies on. This new means of integration gives rise to the possibility of using a "work-alike" tool, should there be a viable replacement that might better suit the needs of the text being Diff'ed. The updated Help information contains further details on an example of such a reconfiguration, should this be of interest. Note however, that because of this "formalization" of the TkDiff/Diff boundary, it is advisable to at least review how any PRIOR Preference values become "converted" to operate within this new release. There is a distinct chance of excess DUPLICATED values that should be pared BACK to avoid any confusion (particularly concerning the exclusion of files to be Diff'ed when searching for candidates).

Posted by michael-m 2022-08-12

Official TkDiff Version 5.4 is released

Yes - it is April Fools Day - but this release is REAL.
Version 5.4 not only extends (and admittedly repairs) the VPATH feature of its predecessor (there WAS a tendency to incorrectly not find legitimate predecessor files if the Current Working Directory (CWD) didn't happen to BE the directory that was defined as FIRST within the VPATH environment variable). This now works properly and the CWD can be ANYWHERE within ANY of the named directories. In a sense, this permits dynamic scoping of the declared VPATH file-space, without the need to edit the Environment Variable explicitly.... read more

Posted by michael-m 2022-04-02

Official TkDiff Version 5.3 is released

This latest release adds a single new feature (VPATH support), two reported issues (broken directory name-generation, and Perforce SCM support) along with the usual assortment of minor things like misspellings and Online Help clarifications. As always, we appreciate the assistance in identifying failing content - your willingness to report it simply makes it better for everyone. With regard to the "new" feature, it takes the form of a pseudo-SCM in that it is detectable by virtue of its environment-variable existence, and serves primarily as a means to locate a missing predecessor when too few files are requested for comparison.
In the online-help arena, there is now an explanation why there can be a need to carefully tune your preferred SCM preference setting if your runtime environment can detect more than the usual "one", as well as exposing the heretofore hidden internal precedence order of those SCM possibilities.
Please enjoy this latest version, and feel free to make suggestions should you encounter situations where additional capability might help.

Posted by michael-m 2021-12-26

Official TkDiff Version 5.2.1 is released

As its point-release stature suggests, the V5.2.1 release is all about loose ends - both real and perceived. In the real category there were two minor observations that have been addressed involving improper toolbar buttons being displayed at startup, and the correct interpretation of recursive-Diff results when NON-default options were in use. In the perceived context, it became readily apparent that the TkDiff method of presenting multiple file pairs (via a menu) could become overwhelmed if the number of file pairs became excessive. Accordingly, TkDiff now enforces an adjustable maximum limit (up to 25) for its filelist menu presentation, causing it to substitute a simple dialog window containing a scroll-able list when that threshold is exceeded from the present input data conditions. This threshold is a new user preference value, enabling one to always prefer the separate window approach if you so choose. The online Help information is recommended reading for tuning this feature, in conjunction with the "recursive Diff" option settings, to achieve the most comfortable results. We believe V5.2.1 to be the most stabilized - and highly recommend its adoption. We welcome any feedback, as always.

Posted by michael-m 2021-03-27

Official TkDiff Version 5.2 is released

TkDiff V5.2 can be viewed as both a cleaned-up version of its predecessor (a fix release) and as unveiling at least one new ability, although that one would be something long missing: recursive-descent Diff against a pair of directories. Ordinarily when given two directories, TkDiff would look for pairs of identically named files, but only within the directories named. With the addition of a new command line option (-R), not only will those given directories be searched , but any and all sub-directories contained. All such pairs found are remembered and can be displayed as desired by the user. This ability actually derives from the Diff engine itself (it performs the searching) and thus there is a new "preference" specifying the distinct options needed to enable this behavior. By making it a preference, TkDiff insulates itself from the possible use of a Diff Engine other than the conventional GNU Diff (or a workalike). But, by default, this preference is preset to that GNU syntax, subject to being overridden by the user; thus the feature just "works" out-of-the-box.
There are smaller, less noticeable enhancements, such as better visual feedback when performing a "Split" operation, Feel free to review the Changelog file for others, and of course, the builtin Help facility to get all the hints to making them as useful as possible.
Yet one new feature should hopefully be harder to actually spot; the tool startup procedure should be far more tolerant of improper, inadequate, or simply badly specified input arguments. Moreover, when encountered, besides reporting their occurrence, most often in a popup display, TkDiff will generally attempt to "start over" and present the interactive input dialog window, allowing the user to "try again". This is part of an attempt to limit the need for what is called "console" output, particularly on platforms that often don't use one (Mac + Windows). Of course, if you always enter proper information (command line or interactively), you may never see this "new feature". In fact, if you always start from the interactive dialog, there is an even greater chance of ensuring a "retry" attempt, especially on platforms for whom a console is not uncommon (*nix).... read more

Posted by michael-m 2021-03-04

Official TkDiff Version 5.1 is released

TkDiff V5.1 has concentrated primarily on eliminating older, more problematic and even deprecated code, while simultaneously adding one of the most requested features throughout its history: user specifiable keyboard bindings for the key operational elements of the tool. What power users call "shortcuts" or "hotkeys". As one might expect, each such keystroke is handled by TkDiff as a persistent preference value, and while the initial values follow the prior historical settings (in case anyone is particularly used to them) each can now be reassigned, subject to the rules of "higher priority" by any given platform. You obviously can't assign a key-combination that, say, the operating system has already assigned to another purpose. All presently known bugs have been eliminated, and several additional opportunities for speedups have been exploited thereby increasing both stability and efficiency. There has even been some additional build-out of both the report generation and Bookmarking facilities, increasing the versatility of the tool as a whole. We hope you find this release as stable as we have tried to make it, and enjoy the new features. Feel free to comment or report concerns as the spirit moves you.

Posted by michael-m 2020-11-12

Official TkDiff Version 5.0 is released

TkDiff V5.0 is now available for download. This release has been concentrated primarily on usability, not only for the experienced user but for the beginners as well. It is the culmination of a long term assessment (over a year) of not only expressed user needs, but process scenarios that exposed both missing and/or misleading operational shortfalls. V5.0 has significantly greater abilities in exploiting the features of several Source Code Management (SCM) systems, including automatic searching for difference candidates, or even using more than one SCM simultaneously. TkDiff will now seamlessly handle "conflicted" files stemming from multi-developer operational practices, including those that may involve 3-way, ancestor relative differences. In fact, you need not even be using an SCM to utilize this feature as TkDiff will now also accept input as produced by a "diff3 -m theirs ancestor mine" utility invocation.
On the Merge front, TkDiff now will not only analyze ancestral additions in choosing how best to integrate changes, but ALSO the ancestral deletions; including display markers showing where failure to delete would constitute not integrate ALL of the changes that occurred. For the users that simply prefer to use TkDiff as a "viewer", perhaps for code reviews, or other reasons, there is a new ability to interactively choose to ignore any difference you'd like. In fact, for those making considerable use of the rules-based approach to ignoring differences, it is not only possible to handle those that the rules miss, but with the interworking of the existing "Split" feature, you can simply slice off any portion of a diff you dont care to look at or address, and then ignore just that portion. Couple that with the report generation abilities and you can easily bring to the forefront any concerns you have over changes under review.
Even smaller features, such as not simply Aborting if/when certain operational details go wrong; providing better error recovery, and everyones favorite: the elimination of all currently known bugs involving such things as line numbering, highlighting issues, misbehaving pop-up panels, mis-handled command line arguments, and even the elimination of a very unpredictable "race condition" involving the TK display package itself.
As always, ALL changes, implications, and even some new topics have also been addressed in the builtin Help facilities. We highly recommend browsing through these as your first source of information about TkDiffs use or applicability. We welcome your ideas, and even your concerns, so feel free to leave a review or a ticket - we thank you for your continued involvement.

Posted by michael-m 2020-06-09

Official TkDiff 4.3.5 is now available

This release provides substantial new benefits to the interactive startup of the tool. You may now browse to either files or directories at will for not only the Left and Right comparison targets, but the Ancestor File (if doing a 3-way Diff) as well. And speaking of the Ancestor, it is now possible to view that file (a first for TkDiff). The release is also more stable having rooted out various issues (including a platform anomoly - see the Changelog for details). The interactivity of the display was also increased with additional related data, markers and highlighting. An assortment of defect removals, and the addition of online help for making the most of performing merges, rounds out this solid offering. This version nearly completes the yearlong arc of changes originally envisioned, and will hopefully be well received. Drop us a review, a question or (if you must) a Ticket - we would love to hear from you. Thank you for your continued involvement with TkDiff.

Posted by michael-m 2018-08-09

Official TkDiff 4.3.4 is now available

Technically this is a critical bug fix to the V4.3.3 release, which didn't have the opportunity to be announced, as it had only just gone out.
Nevertheless, there are significant new capabilities (besides this particular defect repair). Foremost is a complete overhaul of the 3-way Diff support provided by TkDiff. The ancestorfile is now properly analyzed to automatically select merge choice settings, and not only look for collisions (as was the observed prior behavior). In addition, it is now POSSIBLE to actually resolve simple collisions within the tool itself making the task of completing a merge more straightforward. Information on how this can be done is provided in the online help. For users involved with network-based SCM systems, TkDiff will now report on any latency issues that tended to delay the main display during startup. There are also the normal assortment of bug fixes that have been repaired (including that BIG one - merge output corruption - mentioned earlier). We hope you enjoy the latest.

Posted by michael-m 2018-07-21

Official TkDiff 4.3.2 is now available

This is essentially an emergency release, to resolve an obtuse, but fatal problem caused, at least in part, by Diff itself. The situation involved large numbers of diffs having a low correlation of matching lines, such that Diff created regions consisting of a single line from one file against a range of lines from the other. Unfortunately if that first paired line was actually IDENTICAL, the inline-diffing options in TkDiff would fail to find ANY difference (a condition it was not expecting). As the issue was completely data-driven, fatal, and virtually impossible to anticipate, we felt a rapid response fix was warranted. We apologize for any installation churn issues you may experience as a result. Nonetheless, the issue has been resolved. We appreciate your continued interest in TkDiff.

Posted by michael-m 2018-06-29

Official TkDiff 4.3.1 is now available

V4.3.1 is primarily a bug fix release that solidifies TkDiffs operation, particularly when dealing with certain legitimate Diff engine options that attempt to suppress regions of (oftentime) little consequence, such as extra blank lines. It also repairs the use of the "-conflict filename" command line parameter which had been inadvertently(V4.3) broken. However, on the new capability front, several previously hidden preferences have been exposed for personalization (in addition to the 'suppression' items); including an option to pre-select which side should be initially preferred to contribute its content into a merge - thereby handling the majority of merge choices in one step. The preferences dialog itself should be easier to read via better grouping and layout AND now avoids wasting time reconfiguring aspects that never changed, or would already be handled as part of a larger requested modification. Of course, the online documentation also now reflects the current state and should be consulted first when questions arise, or just to learn of possibilities you may never have considered. Thanks for your continued interest in TkDiff.

Posted by michael-m 2018-06-26

Official TkDiff 4.3 is now available

TkDiff 4.3 has finally arrived. This is a major release containing multiple new features. In addition, bug fixes both big and small (and numerous) have been addressed to the greatest extent possible. The builtin help facility has been vastly expanded to cover not just operational details, but topical exposition as well. We recommend you visit it at least once to learn about the new features, or if you have questions about even the small details. We are pleased to offer this to the faithfull users who have stayed with us.

Posted by michael-m 2018-06-06

TkDiff new release BETA available for comment

TkDiff 4.3b1 has been made available for comment.
This is a major feature release over V4.2 yet also addresses certain infrastructure issues that have existed since the advent of TK V8.5. Notably visual alignment of the Text windows should now be repaired. Additionally there is a radically new way to get exactly the merge output desired based on a simple way to edit the actual diff regions directly. There is also enhanced support of Source Code Management systems, a new report format, and the ability to diff entire directories in addition to just files. Builtin online help explains it all. Looking for feedback before packaging for formal release. Let us know what you think on the Discussion list.

Posted by michael-m 2018-05-08

tkdiff 4.1.3 released

Version 4.1.3 is now available. This is a minor, bug-fix release over 4.1.2.

Note that the MacOS version now uses an Aquafied version of Tk. The net effect is that tkdiff now has a more native look and feel. Check out the screenshot for a preview...

Posted by John Klassa 2006-02-22