Skip to content

Releases: homeport/dyff

dyff version v0.5-beta.12

21 May 21:20
Compare
Choose a tag to compare

Add neat output to JSON

Refactor existing code to remove duplicates and introduce neat JSON
output in the neat package. Clean up the suite names at the same time.

Drop minor in output

Remove the minor value change from the output as this makes some
kind of statement on the severity of the change. Even a small change
can mean a lot.

dyff version v0.5-beta.11

17 May 20:15
Compare
Choose a tag to compare

Add brief output mode

Extend dyff with a brief output mode that only reports a summary.
Add flag to set that dyff exits with an exit status if there are diffs.

dyff version v0.5-beta.10

16 May 21:10
Compare
Choose a tag to compare

Add Debug mode

The debug mode was finally added to the CLI.

dyff version v0.5-beta.9

15 May 20:29
Compare
Choose a tag to compare

Clean up CLI flags and README

Fix missing usage details in CLI, rework the shorthand flag names,
adjust README and add checks to sub-commands to have the right
number of arguments. Harmonize the wording in the usage and help
texts.

Switch color definition

Change custom color definition in favor for colorful package. This
includes a improved diff output with more color differences and indent
guide lines.

Add special minor change use case

The percent threshold naturally does not work well for short strings.
For use cases where only two characters are changes, condider it a
minor change, too.

dyff version v0.5-beta.8

13 May 20:27
Compare
Choose a tag to compare

CLI flag clean-up

Fixed missing usage information and harmonised the shorthand and long flag names.

Certificate output tweak

Changed the certificate output by adding grouping to subject and validation period as well as improvement to the coloring of the changes.

New flag for the neat output

The vertical indent helper guide lines can now be omitted in the output by using the respective flag.

Internal code improvements

Clean-up of test cases and unification of styles within the test cases. Code refactoring of the path code, which was moved into its own source file for readability.

dyff version v0.5-beta.7

11 May 14:53
Compare
Choose a tag to compare

Support non-standard identifier in named lists

Add function to guess the identifier if the default identifier name,
key, or id do not work. It will guess based on the fact if there is
a string key with string value, where each value is unique in the
list as long as the list has more than n values with n currently
being 3. This threshold might be subject to change in the future or
become configurable.

dyff version v0.5-beta.6

08 May 21:09
Compare
Choose a tag to compare

Fix YAML output issue with empty structures

Add checks to spot empty structures such as empty map or empty list
to properly display its empty inline JSON style in the YAML output.

v0.5-beta.5

08 May 20:02
Compare
Choose a tag to compare

Add True Color support

Use more than just 16 colors to highlight changes.

Add automatic check for color and true color support

Only use true color if terminal supports it. Add new flags to enforce colors or disable them.

Remove Go YAML library fork dependency

Rewrite of the output of YAML strings to avoid having a fork dependency.

Add 4-bit fallback option

In case true color is not supported, dyff will fall back to 16 colors and automatically check which of the reduced color sets matches best.

Improve test cases

Added checks to verify remote location loading is properly handled.

dyff version v0.5-beta.2

01 May 21:13
Compare
Choose a tag to compare

Add True Color support

Replaced the previous ANSI coloring library with a new internal package that comes with True Color support.

Enhanced minor change output

If only a certain percentage of a string was changed, use a different output in the human style report to better visualise the minor change in the string. Currently, this threshold is configured to be roughly 10 %.

dyff version v0.5-beta.1

26 Apr 13:20
Compare
Choose a tag to compare

Implement change root support

Add flags and implementation code to support changing the root level of a given input file, or both. Depending on the actual object that is referenced by the path that serves as the new root level, there are use cases where a list should be translated into documents, or where the list is used as the root level itself.

This enables diffs between YAMLs (or JSON) with different types of structures, for example:

---
a: foo
---
a: bar

compared with

{
  "items": [
    {"a": "Foo"},
    {"a": "bar"}
  ]
}

image

Big thanks to @adamdecaf for the idea.