Changelog of @hackage/hedgehog-extras 0.10.1.0

Changelog

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 the Package Versioning Policy (PVP).

Unreleased

[0.10.1.0] - 2025-11-03

Changed

  • Updated dependency on tar ^>= 0.7

0.10.0.0 - 2025-09-09

Added

  • Comprehensive CHANGELOG.md with complete project history
  • Descriptive error messages for workspace test failures
  • Sum type WorkspacePolicy to replace boolean blindness in workspaceWithConfig

Changed

  • workspaceWithConfig now uses WorkspacePolicy instead of Bool parameter
  • Improved error messages in workspace tests with specific failure contexts
  • Updated documentation to reference Package Versioning Policy (PVP) instead of SemVer

0.9.0.0 - 2025-06-24

Changed

  • Fix hanging problem with moduleWorkspace

Added

  • Workspace behavior tests and improved workspace API
  • Directory dependency to test suite
  • GHC 9.8 to GHA build matrix
  • Claude IDE command templates for git operations

Fixed

  • Preserve workspace directories on test failure for debugging

0.8.0.0 - 2025-06-14

Added

  • New testUnitIO function

Changed

  • Make binDist search components recursively

Removed

  • Delete unused 'h' file

0.7.2.0 - 2025-06-07

Added

  • MonadAssertion instance to UnitIO

0.7.1.0 - 2025-06-06

Added

  • New assertion functions: tryAssertion, assertFailure and assertFailure_
  • Re-export MonadBaseControl, bracket_ and bracket

0.7.0.0 - 2024-12-24

Added

  • Add expectFailure combinator
  • Add expectFailureWith combinator and tests
  • New UnitIO monad
  • Thread safe golden test support
  • Add diffVsGoldenFileExcludeTrace function
  • Re-export Golden module from Test module
  • Move orphans to own file

Changed

  • Generalize resulting monad in expectFailure
  • Define expectFailure in terms of expectFailureWith
  • Haskell CI: reduce number of shellcheck warnings
  • Haskell CI: simplify build workflow, using cardano-cli's CI as guidance
  • Loosen base version, to allow building with GHC 9.12
  • Align haddock pipeline with Haskell pipeline
  • Make the GitHub page workflow manually triggerable (workflow_dispatch)

Fixed

  • Fix haddock for threadDelay
  • Fix haddock for byDeadline and byDuration
  • Process: more informative error message when plan.json does not exist
  • Detail: fix a warning in the Haskell pipeline

0.6.5.1 - 2024-11-20

Changed

  • Enforce UTF-8 encoding on reading and writing files

0.6.5.0 - 2024-07-27

Added

  • Make it build with ghc-9.10
  • CI: Add ghc-9.10 to the build matrix

0.6.4.0 - 2024-05-16

Added

  • Add missing HasCallStack to writeGoldenFile, reportGoldenFileMissing, checkAgainstGoldenFile

Changed

  • Use removePathForcibly to remove directories

0.6.3.0 - 2024-05-03

Added

  • Add TestWatchdog and Tripwire with their tests
  • Add test for asyncRegister_

Changed

  • Switch to using haskell-actions/setup
  • Allow the port to be reused immediately after it is closed

0.6.2.0 - 2024-04-23

Added

  • New randomPort, reserveRandomPort and portInUse functions

Changed

  • Apply suggestions from code review
  • Remove double space and add quotes

0.6.1.0 - 2024-02-13

Added

  • Add test to ensure a directory doesn't exist (assertDirectoryMissing)
  • Add test to ensure a directory exists (assertDirectoryExists)

Changed

  • Allow reading files into any FromJSON
  • Lower aeson bound
  • #39 Lower bound on aeson
  • Remove double printing of a command with its arguments

0.6.0.2 - 2024-01-29

Fixed

  • Fix missing call sites for short-circuiting functions

0.6.0.1 - 2024-01-23

Fixed

  • Fix missing stderr in failed commands

0.6.0.0 - 2024-01-16

Added

  • Add exec variant that allows a negative call (#55)
  • Add concurrency abstractions from lifted-async and lifted-base

0.5.1.0 - 2024-01-04

Added

  • New RECREATE_GOLDEN_FILES which will causes golden tests to always create golden files replacing any existing golden files

Changed

  • Use MultiwayIf to simplify code

0.5.0.0 - 2023-11-23

Added

  • Add upper bound to tar

Changed

  • Make it build with ghc-9.8
  • CI: Add ghc-9.8.1 to build matrix

Removed

  • Remove unused import

0.4.8.0 - 2023-11-21

Changed

  • Make it build with ghc-9.8
  • CI: Add ghc-9.8.1 to build matrix

Removed

  • Remove unused import

0.4.7.1 - 2023-10-05

Removed

  • Remove dependency on hw-aeson

0.4.7.0 - 2023-06-27

Added

  • New indexM function

0.4.6.0 - 2023-06-19

Added

  • Add a way to log golden files
  • Create new process groups for newly spawned processes (#42)

0.4.5.1 - 2023-05-10

Fixed

  • Fix empty case for diffVsGoldenFile

Changed

  • Put the golden-file filename in the failure message of diffVsGoldenFile

0.4.5.0 - 2023-05-09

Added

  • New downloadToFile function
  • New downloadAndExtractGithubCommitToTemp

Fixed

  • Fix annotation for renameFile

0.4.4.1 - 2023-05-05

Added

  • Make it build with ghc-9.6
  • CI: Add ghc-9.6.1 to build matrix

0.4.4.0 - 2023-05-04

Added

  • Add extra assertion functions, fix readM to show correct line (#33)

Changed

  • Tidy up imports

0.4.3.0 - 2023-05-03

Added

  • Add assertWithinTolerance and readM

0.4.2.0 - 2023-04-28

Added

  • New functions assertFileExists assertFileMissing assertFilesMissing
  • New Hedgehog.Extras.Test.Golden module

Removed

  • Delete assertFileExists from Network module because it doesn't belong here

Changed

  • Use filepath operator (</>) over (<>) with "/"

[0.4.1.0] - 2023-04-12

Added

  • New Ok versions of functions that require the operation to succeed
  • New createSubdirectoryIfMissing function

Changed

  • Modify createDirectoryIfMissing to return its argument. createDirectoryIfMissing_ will be the version that returns ()

Fixed

  • Fix compile errors

[0.4.0.1] - 2023-03-06

Fixed

  • Fix retry function

[0.4.0.0] - 2023-03-06

Changed

  • Pass retry count to retry function

[0.3.0.3] - 2023-01-09

Fixed

  • Fix moduleWorkspace

[0.3.0.2] - 2023-01-07

Added

  • Generic instance

[0.3.0.1] - 2023-01-07

Changed

  • Don't create an intermediate workspace directory
  • Find the nearest plan.json
  • Restructure cabal file
  • Update copyright
  • Copy over waitNamedPipe from Win32-network

Removed

  • Remove unused dependency on Win32-network

Fixed

  • Use setup-haskell action

[0.3.0.0] - 2022-12-13

Added

  • Add errorMessage to argument of deadline functions
  • getProjectBase: explore up the dir hierarchy to find cabal.project
  • New fromJustM function
  • Add .gitignore file

Changed

  • Update GH actions versions
  • Relax bounds on aeson

Early Versions (0.1.0.0 - 0.2.x)

2022

  • New rewriteArrayElements function
  • Update to support aeson >= 2.0.0 (#8)
  • Replace waitByDeadlineX functions to byDeadlineX functions that trigger retries by assertion failure (#7)
  • Add retry support (#6)

2021

  • Module re-exports (#5)
  • Generic error handling functions (#4)
  • New exec, binFlex functions. New execConfigCwd field (#3)
  • Add support for YAML (#2)
  • Force evaluation of string for cat (#1)
  • Setup Github Actions CI
  • Downgrade cabal file version to 2.4 because 3.0 is incompatible with stack
  • Drop support for ghc-8.6.5
  • Harmonise component versions and remove redundant conditionals
  • Import cardano-submit-api from cardano-rest repo
  • Test support for running CLI commands with environment variables
  • Run golden tests at the value level rather than the text level
  • Update copyright to 2021
  • Cabal 3.4 in Github Actions

2020

  • New copyRewriteJsonFile function to work around permissioning issues on Hydra
  • Remove redundant imports
  • General chairman test code quality changes
  • Chairman test running on Windows and Linux
  • Report all log files on any test failure
  • Bump versions to 1.21.0 and update the change logs
  • Run byron-shelley testnet
  • Run a chairman process per node
  • Increase test code re-use by moving test support code into separate common hedgehog-extras library