Changelog of @hackage/tasty-discover 5.2.0

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[Unreleased]

Added

Fixed

Changed

Removed

5.2.0 [2025-10-25]

Added

  • applySkips function for skipping entire test trees with individual test visibility
    • Traverses test trees and replaces tests with skipped placeholders
    • Shows each test as [SKIPPED] in yellow when skip condition is met
    • Useful for platform-specific test suites with Flavored (IO TestTree)
    • Preserves test group structure while showing which tests would run
  • Comprehensive platform expression tests covering all operators and edge cases
    • Added tests for !darwin, !mingw32, !unix negations
    • Added tests for complex AND/OR expressions
    • Added tests for edge cases like unknown platforms (freebsd)

Changed

  • Migrated release process to tag-triggered workflow
    • Release workflow now triggers when version tags (e.g., v5.2.0) are pushed
    • Removed automatic tag creation from CI
    • Updated release documentation to reflect tag-based process
  • --inplace option now only overwrites file if content has changed
    • Prevents unnecessary file modification timestamps
    • Reduces build system churn when generated file is identical

5.1.0 [2025-08-10]

Added

  • Assertion newtype wrapper for HUnit-style assertions with comprehensive documentation and examples (see #74)
  • Platform-specific test examples and documentation showing skip/platform usage (see #69)
  • Support for GHC 9.12.2 in tested configurations (see #53)
  • Reproduction test for symlink crash issue (see #38)
  • New --no-main option for generating modules without main function (see #54)
  • Support for custom tests with Tasty instances using tasty_ prefix
  • New TastyInfo type providing access to test metadata in custom tests
  • Flavored type: General-purpose mechanism for transforming TestTrees generated by tasty_ functions
    • Allows applying transformations like skipping, timeouts, metadata, grouping, etc.
    • Extensible design with flavoring :: TestTree -> TestTree transformation function
    • Integrates seamlessly with custom test types through Tasty instances
  • Skip test functionality: Added SkipTest option type and skip function
    • SkipTest newtype with IsOption instance for Tasty options
    • skip :: TestTree -> TestTree function to skip any test tree
    • Skipped tests show as [SKIPPED] in yellow in test output
    • Works with Flavored type for advanced skip patterns
  • Comprehensive documentation for all test type variations
  • Step-by-step testing support for HUnit tests
  • IO-based test generation for TestTrees
  • AI development guidelines in AI_GUIDELINES.md
  • Comprehensive coding style guide in CODING_STYLE.md
  • Multiline block comment handling in test discovery (resolves #10)

Fixed

  • Fixed backup file import generation bug - prevents .hs.orig and .hs.bak files from being processed (see #58)
  • Fixed directory handling in glob patterns - directories are now filtered out when using --modules flag (resolves #12)
  • Fixed HLint warnings in generated code
  • Fixed warnings in Generator.hs and added Unsafe.hs module
  • Fixed broken links in documentation
  • Fixed test discovery incorrectly finding tests inside {- -} block comments (resolves #10)

Changed

  • Enhanced documentation for skip and platform guidance (see #72)
  • Cleaned up cabal file configuration
  • Improved test discovery patterns from *.hs* to *.hs to avoid backup files
  • Enhanced documentation with more test type examples
  • Added regression tests for backup file handling and directory filtering
  • Added preprocessing step to remove block comments before test discovery
  • Enhanced test discovery with proper nested block comment support

Removed

  • Removed project.sh build script

5.0.0 [2022-07-08]

  • Fix tasty-hedgehog testProperty deprecation warning

4.2.4 [2022-05-22]

  • Support for custom test libraries
  • Version module
  • Deduplicate imports in generated code
  • Rename library directory to src
  • Move existing library modules to Test.Discover.Internal

4.2.3 [2022-05-21]

  • Added --search-dir DIR option
  • Adds an --in-place flag to write the generated driver to the source file.

4.2.1 [2018-06-06]

Changed

4.2.0 [2018-03-03]

Fixed

  • Actually support scprop_ prefixed SmallCheck test cases (see issue #140).

4.1.5 [2018-02-26]

Fixed

  • Fixed multi-byte string issue (see pull request #138).

4.1.4 [2018-02-25]

Added

  • Windows OS continuous integration build (see pull request #136).

Fixed

  • Test failure related to path handling on Windows OS (see pull request #136).
  • Resolved upstream tasty-hedgehog nightly blocking issue (see issue #131).

4.1.3 [2018-01-01]

Fixed

  • Re-enable on Stackage due to tasty/tasty-hedgehog failure (see issue #132).

4.1.2 [2017-12-19]

Fixed

  • Escaping issues for the Windows platform (see issue #124).

4.1.1 [2017-09-26]

Fixed

  • Incorrect test case doing bad comparison (see issue #123).

4.1.0 [2017-09-26]

Fixed

  • Find tests recursively in test directory. (see pull request #122).

Added

  • Add ability to override tasty arguments (see pull request #120).

4.0.0 [2017-09-01]

Changed

  • Deprecated --[no-]module-suffix for --modules (see pull request #117).
  • Deprecated --ignore-module for --ignores (see pull request #117).

Added

  • tasty-hedgehog is now a supported test library.

Removed

  • case_ prefixes have been removed.

3.0.2 [2017-06-05]

Fixed

  • Make upper bounds for dependencies looser.
  • Fix typo in README.md option documentation.

Remove

  • Remove TOC, the hyperlinks weren't working on Hackage.

3.0.1 [2017-06-04]

Fixed

  • Fixed CHANGELOG.md rendering for Hackage (see pull request #106).

Added

  • Add missing --tree-display documentation note (see pull request #107).

3.0.0 [2017-06-03]

Added

  • Add --tree-display configuration option (see pull request #103).

Changed

  • Deprecate case_ in favour of unit_ for HUnit test cases (see pull request #97).

Fixed

  • Correctly handle sub-directories when using --no-module-suffix (see pull request #102).

2.0.3 [2017-04-13]

Fixed

  • Make the Cabal description more clear for Hackage.

2.0.2 [2017-04-13]

Added

  • README.md and CHANGELOG.md included for Hackage (see pull request #96).
  • Re-add stylish-haskell automated checking (see pull request #88).

2.0.1 [2017-03-18]

Fixed

  • Fix flaky test comparison (see pull request #86).

Removed

  • Remove the Test.Tasty.Type module (see pull request #83).

2.0.0 [2017-03-15]

Added

  • Add new hpack format.
  • Add generator style test discovery from tasty-auto.
  • Add new configuration options: debug, ingredients and module name.
  • Add unit tests for all functionality.

Fixed

  • Re-license to MIT.

Removed

  • RTD documentation.
  • TemplateHaskell dependency
  • Example project and integration test project.

Changed

  • Move all tests into test folder.

1.1.0 [2017-01-19]

Added

  • Add --ignore-module configuration option.

1.0.1 [2017-11-13]

Added

  • Add Cabal and Documentation testing on Travis CI.

Fixed

  • Include missing extra-source-files.
  • Slim down LICENSE.md and mark as GPL-3 in Cabal file.

1.0.0 [2016-11-04]

Added

  • Add documentation on RTD.
  • Release on Hackage and Stackage.

0.0.3 [2016-09-20]

Added

  • --no-module-suffix configuration option.

0.0.2 [2016-02-20]

Added

  • --module-suffix configuration option.

0.0.1 [2016-02-13]

  • tasty-discover initial release.