# Revision history for tasty-sugar ## 2.0 * Performance improvements. Now scales better when there are more parameters. * Improved expected and associated file matching and Expected results parameter identification. This may result in different results than the 1.x version of tasty-sugar! * Parameter values explicit in the root match but not in the expected file are now reported as Explicit in the expParamsMatch because they explicitly match part of one of the filenames. This also means that files which were previously provided as expectations are no longer matched because the better root parameter matches exclude them. * Expectations are selected by best ParamMatch values, in order of parameter name, with ties resolved in favor of the longest expected filename. * The --showsearch can now also report internal stats for tasty-sugar. ## 1.3.0.2 -- 2022-09-06 * Add test files to cabal's `extra-sources` so they are included in the package (thanks to Felix Yan). ## 1.3.0.1 -- 2022-06-29 * Bump optparse-applicative upper bound to allow 0.17 series. ## 1.3.0.0 -- 2022-06-28 * Add `inputDirs` to `CUBE` to replace single `inputDir`. Allows test action files to be spread across various directories. The `inputDir` is still supported for backward-compatibility, but the `inputDirs` is preferred. * Any input directory can be specified with a trailing asterisk (e.g. "test/data/*") in which case all subdirectories of that root directory will be scanned. - Any file (root, expected, or associated) may come from any directory (the files in a single Sweet Expectation do not all need to occur in the same subdirectory). - The parameter matching will also consider subdirectory names (prioritized over filename parameter matches). * `SweetExplanation` `results` field is a single entry instead of an array. * Added `getParamVal` function to extract the value (if any) from any `ParamMatch`. * Fixed some bugs in filename analysis and parameter determination. ## 1.2.0.0 -- 2022-05-16 * Update for logict 0.8.0.0 breaking change. * Fix small issues in example usage haddock. ## 1.1.1.0 -- 2021-04-19 * Use 'kvitable' to render `--showsearch` output. * Update build warnings and refactor code to remove potential partial results. * Fix tasty ingredients option double-defaulting. * Add dependency constraint bounds. * Update haddock usage for usage changes. ## 1.1.0.0 -- 2021-01-31 * Allow multiple tests to be generated for each `Expectation` via `withSugarGroups` function. The `withSugarGroups` third argument function (the test generator) now returns a list instead of a single test. While roughly the same effect could have been achieved by the test generator function using a `testGroup` to wrap multiple tests, this change allows both (a) multiple tests to be generated without requiring another level in the test heirarchy, and (b) the generator can return an empty list if there should not be any tests generated for the specified `Expectation`. ## 1.0.2.0 -- 2021-01-31 * Export `paramMatchVal` utility function * Fix over-trimming of `Expectation` matches * Fix identification ranking of associated files ## 1.0.1.1 -- 2021-01-18 * Fix error where an expected set of matches could match multiple root names where the root names contain separators. ## 1.0.1.0 -- 2021-01-18 * Associated files are now ranked based on the number of parameter components in the name and only the highest number of matches are provided. Previously all possible matches were supplied, which meant that "more generic" associations caused an Expectation in addition to the "more specific" associations. Now only the "more specific" assocations cause an Expectation. * Better indentation on Expectation information for --showsearch. ## 1.0.0.0 -- 2021-01-14 * Allow multiple CUBE inputs for a single test session; Sweets are a semigroup. * Run the withSugarGroups mkSweets in MonadIO instead of pure. * Remove blank lines in --showsearch output. ## 0.2.0.0 -- 2021-01-12 * Renamed CUBE "source" to "rootName" * Updated Sweets structure to show root match base and match name * Rewritten implementation using Logic capabilities. Clarified many corner cases and fully implemented all logic. * Significantly enhanced testing. * Updated documentation. ## 0.1.0.0 -- 2019-12-24 * Initial version.