Releases: ceresBakalite/similarity
Releases · ceresBakalite/similarity
Release Version v1.3.5b
Release Version v1.3.5b notes:
1. Minor cumulative additions
2. Fatal null reference exception handling changes
In a sense this fix was a cosmetic fix ensuring that some unexpected exceptions degraded gracefully.
So, and this is probably way too much information, but for those who have an interest we experienced an
external network failure which provided an opportunity to seriously test capturing null reference errors as
we still had a connection up, not much if anything coming down.
We discovered that our try catch blocks were failing to capture System.Collections.Generic.List<T> datatype
null reference errors. Typically an error of this type will be captured long before it reaches the catch
block point as there is normally a more fundamental root cause. However, in this circumstance null returns
were going all the way through without getting caught until much later.
The fix was to simply apply the catchall 'if (object == null)' at primary points of initial entry, way before
their eventual points of failure. And yes, we did have to place this test inside the try portion of their
respective try catch blocks as not even the exception base class was spotting the null references. So, an odd
one and most definitely unexpected.
Release Version v1.3.4b
Release Version v1.3.4b notes:
1. Minor cumulative additions
2. Placed open file methods in their own thread
3. Placed save file methods in their own thread
Retrospectively, the two threading mods seem obvious. However, in their case, applying a thread to a series of methods
that occur locally which are separate from the GUI, which is also updating locally, is only necessary when extremely large
files are either opened or saved, and rarely even then.
Still, costs nothing other than a very minor processing delay apparent only in (to be fair, the more common)
smaller file save and open requests, and like many things, when you need it and don’t have it...
Release Version 1.3.3 Beta
Release v1.3.3b notes:
- Minor cumulative additions and dependency updates.
- Separated .NET Framework and .NET Standard libraries to reflect their constituent components
Release Version 1.3.2 Beta
Release v1.3.2b notes:
Minor changes since release v1.2.8.3b
1. Minor cumulative changes applied.
2. Dependencies updated
3. Reverted to Semantic Versioning (SemVer - ie major.minor.patch) notation.
Release Version 1.2.8.3 Beta
Release v1.2.8.3b notes:
Minor changes since release v1.2.8.2b
- Stopped further unnecessary display catch-up builds, eliminating flicker (deleting multiple rows in the Result View now refreshes only once when all processing is complete).
Release Version 1.2.8.2 Beta
Release v1.2.8.2b notes:
Applied predominately cosmetic changes
1. Smoothed display-text transition
2. Stopped unnecessary display catchup builds, eliminating flicker
3. Added a splash screen
4. Added a drag & drop presentation display
5. Removed a display threading bug that appeared only when an unusually large number of duplicates were present
6. Normalised method calls so that methods applying similar or cross over activities did not repeat tasks
7. Applied system diagnostic compilation directives to accurately reflect the run-time environment
8. Set pre-processor and conditional compiler directives to reflect the run-time environment
9. Applied debug directives to accurately time tasks
10. Reallocated and repositioned methods to create a smoother on load transition
11. Redesigned threading start-up tasks to create a smoother on load transition
12. Set threading tasks to perform only in the environment in which they are required
13. Applied a pull data request as a new default, permitting a user to optionally change from the now redundant push
data request when applying abbreviations to search criteria. This greatly enhances performance on all but the
smallest data sets
14. Applied command-line usage to enable the application to be called from an external assembly.
The command-line takes zero, two or nine arguments. Zero arguments will launch the application, whereas any argument
passed to the application will return an integer representing a percentage matching value
For example:
[location]\similarity.exe "comparison string one" "comparison string two"
In addition the command line also supports the following seven arguments:
MatchingAlgorithm (0,1,2)
Where:
0 = the Ratcliff/Obershelp matching algorithm
1 = the Levenshtein distance algorithm
2 = the Hamming distance algorithm
MakeCaseInsensitive (true or false)
PadToEqualLength (true or false)
RemoveWhitespace (true or false)
ReverseComparison (true or false)
PhoneticFilter (true or false)
WholeWordComparison (true or false)
For example:
[location]\similarity.exe "comparison string one" "comparison string two" 2 true true true true true true
Release Version 1.2.5 Beta
Pre-Production Version 1.2.5 Beta